虚拟属性和质量分配

虚拟属性和质量分配

本文介绍了虚拟属性和质量分配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

开发商!我无法理解接下来的情况

developers! I can't understand next situation

例如我有模型

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

end

我可以用code是这样的:

I can use code like this:

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

但是,如果我取消attr_accessible code以上掷警告

But if I uncomment attr_accessible code above throw warning

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

我如何使用大众assigmnment虚拟属性以及模型的属性?谢谢!

How can I use virtual attributes for mass-assigmnment together with model attributes?Thanks!

推荐答案

使用 attr_accessor ​​来添加一个变量不会自动将其添加到 attr_accessible 。如果你要使用 attr_accessible ,那么你将需要添加:人口到列表:

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

这篇关于虚拟属性和质量分配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 13:20