Virtual attributes and mass-assignment
-
14-11-2019 - |
题
developers! I can't understand next situation
For Example I have model
class Pg::City < ActiveRecord::Base
belongs_to :country
#virtual accessors
attr_accessor :population
#attr_accessible :city, :isdisabled, :country_id
end
I can use code like this:
c = Pg::City.new({:population=>1000})
puts c.population
1000
But if I uncomment attr_accessible code above throw warning
WARNING: Can't mass-assign protected attributes: population
How can I use virtual attributes for mass-assigmnment together with model attributes? Thanks!
解决方案
Using attr_accessor
to add a variable does not automatically add it to attr_accessible
. If you are going to use attr_accessible
, then you will need to add :population
to the list:
attr_accessor :population
attr_accessible :city, :isdisabled, :country_id, :population
不隶属于 StackOverflow