मेरे पास एक ऐसा पृष्ठ है जिसमें आप एक चालान बनाते हैं। एक अलग अनुभाग है जो आपको चालानों में भुगतान जोड़ने की अनुमति देता है। मैं जो करना चाहता हूं वह चालान बनाते समय भुगतान करने की क्षमता जोड़ता है।रेल किसी अन्य रूप के अंदर किसी फ़ॉर्म का हिस्सा प्रस्तुत करते हैं
मैं "भुगतान बनाएं" फ़ॉर्म प्रस्तुत करना चाहता हूं "चालान बनाएं" फ़ॉर्म में देखें। मैं यह कैसे कर सकता हूँ?
चालान फार्म दृश्य (नोटिस रेंडर कॉल): यहाँ कुछ कोड है
<%= form_for(@contract) do |f| %>
<div class="field">
f.label "Add payment?"
<div id="pay_form">
<%= render 'payments/pay_form' %>
</div>
</div>
(_pay_form.html.erb) भुगतान बनाने के रूप से आंशिक (नोटिस मैं form_for टैग सहित नहीं कर रहा हूँ यहाँ क्योंकि मैं ऊपर चालान पृष्ठ पर एक और रूप के अंदर अगले एक फार्म के लिए) नहीं करना चाहती:
<div class="field">
<%= f.label 'Amount Paid:' %>
<%= f.text_field :amount %>
</div>
<div class="field">
<%= f.label 'Payment Method' %>
<%= f.select :method, %w(Cash Credit Check) %>
</div>
मुख्य समस्या आंशिक में f
चर मौजूद नहीं है। और यहां तक कि अगर मैं इनवॉइस के f
var को इसके फॉर्म से असाइन करता हूं, तो पैरामीटर के नाम params[:payment][:amount]
के बजाय params[:invoice][:amount]
होंगे। देखो मैं क्या कह रहा हूँ?
ऐसा करने के लिए जाने का सबसे अच्छा तरीका क्या है?
आप की जाँच था [accepts_nested_attributes_for] (http://api.rubyonrails.org/classes /ActiveRecord/NestedAttributes/ClassMethods.html) और [fields_for सहायक] [http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-fields_for)? –