8

だから私はRails 3.1でフォームを構築しています。

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

しかし、パーシャルのこの行が問題を引き起こしています:

<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 %>

モデルは次のとおりです。

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

コントローラーは継承されたリソース gem を使用しています。

どうしたの?助けてくれてありがとう。

4

3 に答える 3

11

imorsiは正しいです、これが私がそれをした方法です:

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

また、宝石を取り外して再バンドルしましたが、それは必要ではなかったと思います。gemのインストール後にサーバーを再起動することを忘れないでください。

于 2011-07-19T17:44:12.073 に答える
7

gemがgitのバージョンで古くなっていることに気付くまで、同じ問題が発生していました。gitのファイルでgemファイルを手動で更新し、問題を修正しました!

于 2011-07-14T06:37:38.313 に答える
-1

私はそれを試しましたが、うまくいきませんでした

だから私は "bundle open nested_form" を実行し、github からコピーを貼り付けました。

于 2011-10-27T22:10:22.607 に答える