为所有实例变量设置Attr_accessor

时间:2010-06-22 04:48:05

标签: ruby-on-rails

我有一个20字段数据库,并希望将所有变量设置为可以访问。

有没有办法将attr_accessor设置为所有变量,而不列出每个变量,即

attr_accesor:a,:b,... etc

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解您的问题(?),但如果您的模型直接与数据库相关,那么这些属性已经可以访问。

答案 1 :(得分:0)

attr_accessor用于在普通的ruby对象上添加get / set方法。使用ActiveRecord模型,这些模型将根据模式中的列自动创建。

通常所有ActiveRecord属性都是“可访问的”,这意味着您可以从params哈希中为所有这些属性分配值:Model.update_attributes(params[:model])

您可能会想到attr_accessible只使某些列可以通过这种方式访问​​,并使其余的“受保护”,因此只能通过其setter方法直接分配它们。

相反的是attr_protected,除了您指定的列之外,所有列都可以访问。