मेरे पास फ़ॉर्म_ फॉर और नेस्टेड संसाधनों के बारे में दो-भाग का प्रश्न है। मान लीजिए कि मैं एक ब्लॉग इंजन लिख रहा हूं और मैं एक लेख पर टिप्पणी करना चाहता हूं। मैंने एक नेस्टेड संसाधन को निम्न प्रकार से परिभाषित किया है:
map.resources :articles do |articles|
articles.resources :comments
end
टिप्पणी फॉर्म शो के लिए है। लेख के लिए देखें। लेख के नीचे, उदाहरण के लिए, इस तरह से:
<%= render :partial => "articles/article" %>
<% form_for([ :article, @comment]) do |f| %>
<%= f.text_area :text %>
<%= submit_tag "Submit" %>
<% end %>
यह एक त्रुटि देता है, "शून्य के लिए कॉल की गई आईडी, जो कि गलती से होगी आदि।" मैंने भी कोशिश की है
<% form_for @article, @comment do |f| %>
जो सही तरीके से प्रस्तुत करता है लेकिन f.text_area को टिप्पणी के बजाय लेख के 'पाठ' क्षेत्र से संबंधित करता है, और उस पाठ क्षेत्र में लेख के लिए html.text विशेषता प्रस्तुत करता है। इसलिए मुझे यह गलत भी लगता है। मैं जो चाहता हूं वह एक ऐसा रूप है जिसका 'सबमिट' कॉल करेगा, जिसमें एक्शन पर टिप्पणी / टिप्पणी / उदाहरण के लिए / लेख / 1 / टिप्पणियों के लिए, ParC में एक लेख_id के साथ CommentsController पर क्रिएट एक्शन होगा।
मेरे सवाल का दूसरा हिस्सा यह है कि शुरुआत करने के लिए टिप्पणी उदाहरण बनाने का सबसे अच्छा तरीका क्या है? मैं ArticleController की शो कार्रवाई में एक @comment बना रहा हूं, इसलिए एक टिप्पणी ऑब्जेक्ट form_for सहायक के लिए गुंजाइश में होगा। फिर CommentsController की कार्रवाई में, मैं form_for से पारित किए गए पैरामेट्स का उपयोग करके नया @comment बनाता हूं।
धन्यवाद!