rails simple_nested_form_for fields_for错误的参数数量

ran*_*mor 8 ruby-on-rails actionview nested-forms nested-attributes simple-form

所以我正在使用rails 3.1构建一个表单

<%= simple_nested_form_for(@person, :url => collection_url, :html=>{:multipart => true}) do |f| %>
  <%= render :partial => "form", :locals => { :f => f } %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但部分中的这一行导致了问题:

<h2>Badges</h2> 
<ul id="certifications">
// this following line is raising the error "wrong number of arguments (4 for 3)"
<%= f.fields_for :certifications do |certification_form| %> 
    <%= render :partial => 'certification', :locals => { :f => certification_form } %>
<% end %>
</ul>
<%= f.link_to_add "Add a Badge", :certifications %>
Run Code Online (Sandbox Code Playgroud)

所以这是模型:

class Person < ActiveRecord::Base
  has_many :certifications, :dependent=>:destroy, :order=>:position
  has_many :certificates, :through=>:certifications
  accepts_nested_attributes_for :certifications, :allow_destroy => true
end
Run Code Online (Sandbox Code Playgroud)

控制器正在使用继承的资源gem.

怎么了?谢谢您的帮助.

Pet*_*ich 11

imorsi是正确的,这是我如何做到的:

gem"nested_form",:git =>'git://github.com/ryanb/nested_form.git'

我也删除并重新捆绑了宝石,但我怀疑没有必要.宝石安装后不要忘记重启服务器.


imo*_*rsi 7

我遇到了同样的问题,直到我意识到gem与git上的版本已经过时了.我只是用git和问题修复了手动更新了gem文件!