Can't mass-assign protected attributes:

Hi,

i added a column to my DB using
rails g migration AddAttrToTablename attr:string
rake db:migrate

I didnt change the model file. Should i?

Now when i create a new record to the table assigning values to existing
attrs and newly added attribute i get this error “Can’t mass-assign
protected attributes: attr”

Any1 understand whats happening here?

On 7 June 2012 23:08, cyber c. [email protected] wrote:

protected attributes: attr"

Any1 understand whats happening here?

You probably need to add the new field to the attr_accessible list in
the model.rb file so you can do such things as update_attributes(
params[…]) or new( params[…] )

Colin

Hi Colin,
I think u r using rails 3.2.x where mass assignment is protected for
saving the record into the db
you need to write this piece of code in model

attr_accessible : field/column name

With Thanks & Regards,
Santosh Mohanty

Software Developer, Railsfactory(Ruby on Rails Solution)* *
:phone: 9445808957
www.railsfactory.org

Contact me: [image: Google Talk] [email protected] [image:
Skype]santosh.railsfactory
Want a signature like mine?
http://r1.wisestamp.com/r/landing?promo=22&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_22
Click
here.http://r1.wisestamp.com/r/landing?promo=22&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_22

On Fri, Jun 8, 2012 at 12:32 PM, Colin L. [email protected]
wrote:

attrs and newly added attribute i get this error "Can’t mass-assign

http://groups.google.com/group/rubyonrails-talk?hl=en.


With Thanks & Regards,
Santosh Kumar Mohanty | Rails factory

Indeed, the right way would have been to use the generator to add a
field
to your model. This would have update your model AND created a DB
migration.
In your case, you changed the DB, but not the Ruby object that
corresponds
to it. So indeed the new field does not exist in your object, thus the
error.

On 8 June 2012 09:36, Santosh Kumar Mohanty
[email protected]wrote:

Hi Colin,

It is best not to top post as doing this makes it more difficult to
follow
the thread, and also makes it easier to reply to the wrong person.
cyber c
was the original poster. Best to insert your reply at appropriate
points
in the previous message.

I think u r using rails 3.2.x where mass assignment is protected for
saving the record into the db
you need to write this piece of code in model

attr_accessible : field/column name

Also if you had posted this after my comment which said

“You probably need to add the new field to the attr_accessible list in
the model.rb file so you can do such things as update_attributes(
params[…]) or new( params[…] )”

then you would have noticed that I had already answered the question.

Why would I want a signature like yours?

Colin

On 8 June 2012 07:57, Bataille G. [email protected] wrote:

Indeed, the right way would have been to use the generator to add a field to
your model. This would have update your model AND created a DB migration.
In your case, you changed the DB, but not the Ruby object that corresponds
to it. So indeed the new field does not exist in your object, thus the
error.

What generator command would have added attr_accessible for the new
field in the model.rb?

Colin

hum, you’re right, I mixed things up in my head. I indeed don’t know of
any
:frowning: