संपादित करें मैंने एक मचान उत्पन्न किया है, चलिए इसे मचान परीक्षण कहते हैं। उस मचान के भीतर, मुझे _form.html.erb मिल गया है जो क्रियाओं के लिए प्रस्तुत किया जा रहा है: नया =>: बनाएं और: संपादित करें =>:सबमिट करने के दौरान form_for अंतर जानने के लिए कैसे करें: नया:
रेल कभी-कभी बहुत सारे जादू करता है और मैं यह नहीं समझ सकता कि कैसे form_for जानता है कि कैसे उचित कॉल करने के लिए: नए और: जब बीच प्रस्तुत दबाने कार्रवाई को संपादित
scaffolded फार्म
<%= form_for(@test) do |f| %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
बनाम संयुक्त राष्ट्र के scaffolded फार्म
<% form_for @test :url => {:action => "new"}, :method => "post" do |f| %>
<%= f.submit %>
<% end %>
संपादित टेम्पलेट
<h1>Editing test</h1>
<%= render 'form' %>
नई टेम्पलेट
<h1>New test</h1>
<%= render 'form' %>
आप थेरेस रूपों बीच कोई अंतर नहीं देख सकते हैं कैसे दोनों टेम्पलेट्स एक ही रूप प्रदान कर सकते हैं, लेकिन विभिन्न कार्यों का उपयोग करें?
'action' और' method' वास्तव में 'object.persisted के आधार पर कर रहे हैं' जाँच: https://github.com/rails/rails/blob/4-0-stable/actionpack/lib /action_view/helpers/form_helper.rb?#L441-L453। तो मुझे नहीं पता कि यह जवाब क्यों कम किया गया था। शायद "अगर यह जारी रहता है तो थोड़ा सा रेफ्रिसिंग की आवश्यकता होती है तो यह एक संपादन रूप है। यदि यह नहीं है, तो यह एक नया रूप है" – vee