Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 虚拟属性与质量分配_Ruby On Rails_Ruby_Ruby On Rails 3_Activerecord_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 虚拟属性与质量分配

Ruby on rails 虚拟属性与质量分配,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,Ruby On Rails 3.2,开发者!我无法理解下一种情况 例如,我有一个模型 class Pg::City < ActiveRecord::Base belongs_to :country #virtual accessors attr_accessor :population #attr_accessible :city, :isdisabled, :country_id end 但如果我取消注释上面的attr_可访问代码,就会抛出警告 WARNING: Can't mass-as

开发者!我无法理解下一种情况

例如,我有一个模型

class Pg::City < ActiveRecord::Base
   belongs_to :country  
   #virtual accessors
   attr_accessor :population
   #attr_accessible :city, :isdisabled,  :country_id

end
但如果我取消注释上面的attr_可访问代码,就会抛出警告

WARNING: Can't mass-assign protected attributes: population
如何将虚拟属性与模型属性一起用于大规模辅助?
谢谢

使用
attr\u accessor
添加变量不会自动将其添加到
attr\u accessible
。如果要使用可访问的属性,则需要在列表中添加
:population

attr_accessor :population
attr_accessible :city, :isdisabled, :country_id, :population

您是否尝试将
:population
添加到要传递给
attr\u accessible
的参数中?刚刚尝试了c=Pg::City.new({:population=>1000,:City=>“somename”})。。。。警告您是否尝试过使用注释的
attr\u accessible
行进行此操作?没有警告……那么除了批量分配中的属性之外,我应该怎么做?我想我必须用attr_protected添加它们。。
attr_accessor :population
attr_accessible :city, :isdisabled, :country_id, :population