# unknown attribute: version  (nested forms)

**URL:** <https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702>\
**Category:** rubyonrails-talk\
**Created:** [April 7, 2010, 1:49am UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702 "2010-04-07T01:49:55Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Oren\_Golan](https://avatars.discourse-cdn.com/v4/letter/o/d07c76/32.png) [@Oren\_Golan](https://discuss.rubyonrails.org/u/Oren_Golan)\
**Post date:** [April 7, 2010, 1:49am UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/1 "2010-04-07T01:49:55Z")

</div>

I try to update a nested model (version) and get this error. any tips would be great!

my models: location has\_many :versions

# view

\<% form\_for location do |location\_form| %\> &nbsp;&nbsp;&nbsp;&nbsp;\<ul class="location"\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<li\>\<%= location\_form.label location.section %\>\</li\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<li\>\<%= location\_form.label location.sub\_section %\>\</li\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<li\>\<%= location\_form.label location.place\_holder %\>\</li\> &nbsp;&nbsp;&nbsp;&nbsp;\</ul\>

&nbsp;&nbsp;&nbsp;&nbsp;\<div class="content-area"\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<% location.versions.each do |version| %\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<div class="content" \> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<% location\_form.fields\_for version do |version\_form| %\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<%= version\_form.label version.environment %\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<%= version\_form.text\_area :content %\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<% end %\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\</div\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<% end %\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<%= submit\_tag %\> &nbsp;&nbsp;&nbsp;&nbsp;\</div\>

&nbsp;&nbsp;\<% end %\>

#controller

&nbsp;&nbsp;def update &nbsp;&nbsp;&nbsp;&nbsp;@location = Location.find(params[:id]) &nbsp;&nbsp;&nbsp;&nbsp;@location.update\_attributes(params[:location]) #error: unknown attribute: version &nbsp;&nbsp;&nbsp;&nbsp;redirect\_to( locations\_path ) &nbsp;&nbsp;end

# the params

{"location"=\>{"version"=\>{"content"=\>"hello human. glass robot want you to join Glass"}}, "commit"=\>"Save changes", "authenticity\_token"=\>"l59NxAeIeHnvaVt+1xQV2e9NpDIS8nPpQ4RY+hU0k7w=", "id"=\>"2"}

---

<div class="post-metadata">

**Author:** ![Ryan\_Waldron](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@Ryan\_Waldron](https://discuss.rubyonrails.org/u/Ryan_Waldron)\
**Post date:** [April 7, 2010, 3:31am UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/2 "2010-04-07T03:31:25Z")

</div>

Where's the error message?

---

<div class="post-metadata">

**Author:** ![Oren\_Golan](https://avatars.discourse-cdn.com/v4/letter/o/d07c76/32.png) [@Oren\_Golan](https://discuss.rubyonrails.org/u/Oren_Golan)\
**Post date:** [April 7, 2010, 4:30am UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/3 "2010-04-07T04:30:58Z")

</div>

ActiveRecord::UnknownAttributeError in LocationsController#update

unknown attribute: version

RAILS\_ROOT: /home/oren/misc/projects/borderstylo/content

/opt/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/ active\_record/base.rb:2746:in `attributes=' /opt/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/ active_record/base.rb:2742:in `each' /opt/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/ active\_record/base.rb:2742:in `attributes=' /opt/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/ active_record/base.rb:2628:in `update\_attributes' /home/oren/misc/projects/borderstylo/content/app/controllers/ locations\_controller.rb:29:in `update'

---

<div class="post-metadata">

**Author:** ![Nicolas\_Iensen](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@Nicolas\_Iensen](https://discuss.rubyonrails.org/u/Nicolas_Iensen)\
**Post date:** [April 7, 2010, 11:15am UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/4 "2010-04-07T11:15:27Z")

</div>

Hi Oren,

Try this "accepts\_nested\_attributes\_for :versions" in the location.rb file.

Cheers!

---

<div class="post-metadata">

**Author:** ![Oren\_Golan](https://avatars.discourse-cdn.com/v4/letter/o/d07c76/32.png) [@Oren\_Golan](https://discuss.rubyonrails.org/u/Oren_Golan)\
**Post date:** [April 7, 2010, 6:17pm UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/5 "2010-04-07T18:17:02Z")

</div>

I already have this:

has\_many :versions, :dependent =\> :destroy accepts\_nested\_attributes\_for :versions

---

<div class="post-metadata">

**Author:** ![Oren\_Golan](https://avatars.discourse-cdn.com/v4/letter/o/d07c76/32.png) [@Oren\_Golan](https://discuss.rubyonrails.org/u/Oren_Golan)\
**Post date:** [April 7, 2010, 6:21pm UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/6 "2010-04-07T18:21:48Z")

</div>

I use version and not :vorsion here: (since i believe i need to provide an object) location\_form.fields\_for version do |version\_form|

could it be related to the issue?

---

<div class="post-metadata">

**Author:** ![Nicolas\_Iensen](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@Nicolas\_Iensen](https://discuss.rubyonrails.org/u/Nicolas_Iensen)\
**Post date:** [April 8, 2010, 11:36am UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/7 "2010-04-08T11:36:26Z")

</div>

This is how I did my nested forms (actually I have 3 forms nested):

\<% form\_for [@resource, @validity] do |f| %\> &nbsp;&nbsp;\<% f.fields\_for :timesheets do |t| %\> &nbsp;&nbsp;&nbsp;&nbsp;\<% t.fields\_for :values do |v| %\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R$ \<%= v.text\_field :value, :maxlength=\>10 %\> &nbsp;&nbsp;&nbsp;&nbsp;\<% end %\> &nbsp;&nbsp;\<% end %\> &nbsp;&nbsp;\<%= f.submit "Save" %\> \<% end %\>

resource has\_many validities validity has\_many timesheets timesheet has\_many values

---

<div class="post-metadata">

**Author:** ![Oren\_Golan](https://avatars.discourse-cdn.com/v4/letter/o/d07c76/32.png) [@Oren\_Golan](https://discuss.rubyonrails.org/u/Oren_Golan)\
**Post date:** [April 9, 2010, 1:34am UTC](https://discuss.rubyonrails.org/t/unknown-attribute-version-nested-forms/50702/8 "2010-04-09T01:34:26Z")

</div>

It works now. I had 2 loops and had to remove the external one: \<% location.versions.each do |version| %\>

fields\_for already create a loop on the children, so there is no need for another loop.

thanks!
