ruby-on-rails – 虚拟属性和批量分配

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 虚拟属性和批量分配前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
开发商!我无法理解下一个情况

例如我有模型

  1. class Pg::City < ActiveRecord::Base
  2. belongs_to :country
  3. #virtual accessors
  4. attr_accessor :population
  5. #attr_accessible :city,:isdisabled,:country_id
  6.  
  7. end

我可以使用这样的代码

  1. c = Pg::City.new({:population=>1000})
  2. puts c.population
  3. 1000

但如果我取消注释上面的attr_accessible代码抛出警告

  1. WARNING: Can't mass-assign protected attributes: population

如何将虚拟属性与模型属性一起用于质量分配?
谢谢!

解决方法

使用attr_accessor添加变量不会自动将其添加到attr_accessible.如果您打算使用attr_accessible,那么您需要在列表中添加:population:
  1. attr_accessor :population
  2. attr_accessible :city,:country_id,:population

猜你在找的Ruby相关文章