8

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.

randomor
  • 5,329
  • 4
  • 46
  • 68

3 Answers3

11

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.

iwasrobbed
  • 46,496
  • 21
  • 150
  • 195
Peter Ehrlich
  • 6,969
  • 4
  • 49
  • 65
  • did this, moved js to `/vendor/assets/javascripts/`, updated `/app/assets/javascripts/application.js` to include `//= require nested_form` and then it worked – ZMorek Nov 10 '11 at 00:16
7

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!

imorsi
  • 346
  • 1
  • 11
-1

I tried that, but didnt work

So i ended up doing "bundle open nested_form" and copy pasted from github