将属性附加到模型以便在Rails 3上临时使用

new*_*ike 3 ruby ruby-on-rails

我有一个用户模型=> @user

我想添加新属性current_time@user供临时使用.

不想进行迁移以添加列(仅供临时使用):

@user.current_time = Time.now
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

NoMethodError (undefined method `current_time=' for #<User:0x007fd6991e1050>):
  app/controllers/carts_controller.rb:47:in `block in search_user'
  app/controllers/carts_controller.rb:45:in `search_user'
Run Code Online (Sandbox Code Playgroud)

kri*_*lim 5

attr_accessor 将为实例变量设置一个reader和writer:

class Foo
  attr_accessor :current_time
end

foo = Foo.new
foo.current_time = Time.now   # Writes value
foo.current_time              # Reads value
Run Code Online (Sandbox Code Playgroud)

您可能也有兴趣attr_readerattr_writer.