Can't mass-assign these protected attributes: tag_attributes

Hi,
I added a textarea to my edit student form, to be able to add tags to
this student. I did the simple code below, and this is the error i get.
I can’t see what i did wrong…

#Error message
Processing StudentsController#update (for 127.0.0.1 at 2010-02-14
10:13:22) [PUT]
Parameters: {“commit”=>“Submit”,
“authenticity_token”=>“PNvzBi6Ro1XJg0c6CfgKsEw+wfg6DwZfnV2FUpRgqPs=”,
“id”=>“1”, “student”=>{“full_name”=>"Gregory ", “cb_id”=>“68”,
“tag_attributes”=>“greg,toto”, “description”=>“voila une jolie
description”}}
Student Columns (12.8ms) SHOW FIELDS FROM students
Student Load (0.3ms) SELECT * FROM students WHERE (students.id
= 1)
WARNING: Can’t mass-assign these protected attributes: tag_attributes

#Html form
<% form_for @student do |f| %>
<%= f.error_messages %>

<%= f.label :cb_id %>
<%= f.text_field :cb_id %>

<%= f.label :full_name %>
<%= f.text_field :full_name %>

<%= f.label :description%>
<%= f.text_area :description %>

<%= text_area_tag "student[tag_attributes]" %>

<%= f.submit "Submit" %>

<% end %> #END

#Student Class
class Student < ActiveRecord::Base
has_and_belongs_to_many :data_files
has_and_belongs_to_many :tags

attr_accessible :cb_id, :full_name, :description

validates_uniqueness_of :cb_id

def tag_attributes=(tags)
splits = tags.split(’,’)
splits.each do |tag|
Tag.build(tag)
end
end
end
#END

Thanks for your help
Greg

On Feb 14, 2010, at 1:29 PM, Greg Ma wrote:

“authenticity_token”=>“PNvzBi6Ro1XJg0c6CfgKsEw+wfg6DwZfnV2FUpRgqPs=”,
#Html form

#Student Class
class Student < ActiveRecord::Base
has_and_belongs_to_many :data_files
has_and_belongs_to_many :tags

attr_accessible :cb_id, :full_name, :description

You either need to add :tag_attributes to this list to make it
accessible for mass updates…

Or, in the controller code that you didn’t show, pluck the
tag_attributes out:
tag_attributes = params[:student].delete(‘tag_attributes’)
before you call @student.update_attributes(params[:student])
and add a call to:
@student.tag_attributes = tag_attributes

-Rob

#END
[email protected].
To unsubscribe from this group, send email to [email protected]
.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en
.

Rob B. http://agileconsultingllc.com
[email protected]

Lasse B. wrote:

I think you need to add :tag_attributes to attr_accessible in your model
–
would this fix the problem?

Lasse

2010/2/14 Greg Ma [email protected]

it works! Thanks

I think you need to add :tag_attributes to attr_accessible in your model
–
would this fix the problem?

Lasse

2010/2/14 Greg Ma [email protected]