将属性设置为Rails记录

时间:2014-08-05 22:37:40

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

我有一个User模型。我希望能够在一个函数中为用户设置任意属性。

> User["some_new_attribute"] = "test"  

# Error
ActiveModel::MissingAttributeError: can't write unknown attribute `some_new_attribute'

如何将名为some_new_attribute的属性分配给我的用户记录?我不想在DB中为它添加一个列,它只是一个函数中使用的属性。

1 个答案:

答案 0 :(得分:3)

您可以使用attr_accessors执行此操作。请注意,此类字段不会通过ActiveRecord保留在数据库中。

Class User
  attr_accessor :some_new_attribute
end