ruby-on-rails – form_for因为升级到rails 3.1而导致错误的参数
发布时间:2020-12-16 21:49:29 所属栏目:百科 来源:网络整理
导读:这个form_for在将我的应用程序移植到rails 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'
这个form_for在将我的应用程序移植到rails 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个多小时试图弄清楚出了什么问题……绝对有一些我不明白的东西 我得到错误: 参数错误(3为2) 请注意,我正在尝试更新不是activerecord对象的变量.它只是一个不存储在数据库中的对象. 希望有人可以帮忙 干杯 解决方法
form_for只需要两个参数,即记录和选项,虽然记录可能是几件事情,包括简单的符号,对象或数组.
尝试删除第一个符号并发送您的对象.如果您的型号不包括ActiveModel :: Naming,您可以通过:as选项设置名称. <%= form_for @substrate_mass,:as => 'substrate_mass',... %> 可以在这里找到更多的帮助: 或直接查看来源: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |