动态添加哈希属性到Rails模型实例对象?

haj*_*poj 8 ruby activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

有一个模型

class PlaylistModel < ActiveRecord::Base
    /* code */
end
Run Code Online (Sandbox Code Playgroud)

然后在控制器动作中有这样的代码

PlaylistController < ActionController::Base
  def a_action
    @item = Playlist.find(10)
    @item[:visited] = true     
  end
end
Run Code Online (Sandbox Code Playgroud)

但是visited,PlaylistModel(或在播放列表表的架构中)没有定义属性!看起来新属性正在动态添加到对象中.这是正在发生的事情,所有这些功能定义在哪里/我在哪里可以阅读更多相关信息.

谢谢您的帮助!

Pin*_*nyM 13

这是此处说明的属性设置器快捷方式.它几乎相当于:

@item.attributes[:visited] = true
Run Code Online (Sandbox Code Playgroud)