2011-08-25 7 views
6

में अलग मॉडल से दिखाएं मैं एक location मॉडल और एक post मॉडल है। मैं उपयोगकर्ता को location मॉडल के index पृष्ठ से नया posts बनाने की अनुमति देना चाहता हूं। मैं उसको कैसे करू? मैंने postnew.html.erb को locationindex.html.erb में आंशिक के रूप में प्रस्तुत करने का प्रयास किया, लेकिन इससे postnew.html.erb त्रुटियों की ओर जाता है @post चर।रेल: एक दृश्य

मुझे इसे कैसे पूरा करना चाहिए?

उत्तर

14

इस

LocationController 

def index 
    @location = Location.find(:all) 
    @post = Post.new 
end 

की तरह कुछ की कोशिश करो अब उर स्थान दृश्य उदाहरण चर @post के लिए उपयोग किया जाएगा। का उपयोग करते हुए कि

render :partial => 'posts/post', :object => @post 
+0

+1, .. या, एलेस्क्लर के प्रस्ताव के समान ही: वैरिएबल के बजाय 'पोस्ट.न्यू' का उपयोग करें, लेकिन यह दृश्य पर निर्भर करता है: चर वहां 'हार्डकोड' हो सकता है। – Arsen7

0

बस LocationsController में अपनी कार्रवाई में एक @post चर पैदा करते हैं।

+0

कि मुझे इस त्रुटि देता है एक आंशिक प्रस्तुत: '/home/eyekandy/rails_apps/eyekandy/app/controllers/locations_controller.rb LocationsController' –

+0

परिभाषित करने के लिए तो फिर तुम एक ** syntax त्रुटि अपेक्षित ** आपके कोड में क्या आप अपनी कार्रवाई का कोड दिखा सकते हैं? मुझे लगता है कि आपने केवल कार्रवाई संपादित की है, लेकिन त्रुटि कहीं और हो सकती है - हो सकता है कि आपने गलती से कुछ चरित्र हटा दिया हो? – Arsen7

3

आप इस तरह के फार्म शुरू कर सकते हैं:

<%= form_for Post.new do ... %>