Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rails simple_nested_form_for fields_for wrong number of arguments

So I'm building a form in rails 3.1, using

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

but this line in the partial is causing the problem:

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

So here is the model:

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

The controller is using the inherited resource gem.

What's wrong? Thanks for the help.

like image 569
randomor Avatar asked Jul 11 '11 19:07

randomor


2 Answers

imorsi is correct, here's how i did it:

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

I also removed and re-bundled the gem, but I suspect that was not necessary. don't forget to restart your server after gem installation.

like image 79
Peter Ehrlich Avatar answered Oct 20 '22 23:10

Peter Ehrlich


I was having the same problem until I realized the gem is out of date with the version on git. I just manually updated the gem files with the ones on git and problem fixed!

like image 22
imorsi Avatar answered Oct 20 '22 23:10

imorsi