2011-09-23 12 views
10

इस form_for इससे पहले कि मैं रेल के लिए अपने आवेदन पोर्ट काम करता था रेल के लिए 3,1form_for तर्कों की गलत संख्या (2 के लिए 3) उन्नयन के बाद से 3.1

<div class="form-box" style="padding-left:1em;"> 
    <% 
    action = @existing_mass.nil? ? "add_to_power_plant": "update_power_plant_substrate"; 
    submit_button_label = @existing_mass.nil? ? 'Add': 'Update'; 
    %> 

    <%= form_for :substrate_mass, @substrate_mass, :remote => true, :url => { :action => action, :substrate_id => @substrate_mass.substrate } do |f| %> 
    <div> 
     <%= f.label :quantity_per_year, "Quantity" %> 
     <%= f.text_field :quantity_per_year, :size => 5, :onclick => 'this.select();', :value => @substrate_mass.quantity_per_year %> 
    </div> 

    <div class="actions" style="float:right;"> 
     <%= f.submit submit_button_label %> 
    </div> 
    <br/> 
    <% end %> 
</div> 

मैं क्या गलत है पता लगाने की कोशिश 4 घंटे से अधिक खर्च किया है

तर्कों की गलत संख्या (2 के लिए 3)

ध्यान दें कि मैं टी हूं: ... वहाँ निश्चित रूप से कुछ मैं अब समझ नहीं कर रहा हूँ

मैं त्रुटि मिलती है एक ऐसा वैरिएबल ActiveRecord वस्तु नहीं है अद्यतन करने के लिए rying। यह सिर्फ एक वस्तु है कि डेटाबेस में संग्रहीत नहीं कर रहा है।

आशा किसी की मदद कर सकते हैं।

चियर्स

उत्तर

10

form_for केवल दो तर्क, record, और options लेता है, हालांकि रिकॉर्ड एक सरल प्रतीक, एक वस्तु, या एक सरणी सहित कई चीज़ें हो सकता है।

सिर्फ पहली प्रतीक छोड़ने और अपने वस्तु भेजने का प्रयास करें। आप मॉडल ActiveModel::Naming शामिल नहीं है, तो आप :as विकल्प के माध्यम से नाम निर्धारित कर सकते हैं।

<%= form_for @substrate_mass, :as => 'substrate_mass', ... %> 

अधिक मदद यहां पाया जा सकता है:
http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for

या सीधे स्रोत देखने के लिए:
https://github.com/rails/rails/blob/v3.1.0/actionpack/lib/action_view/helpers/form_helper.rb#L353

+0

वाहू इस इतनी अच्छी तरह से काम किया! मैं बहुत बहुत आभारी हूँ। – zabumba

संबंधित मुद्दे