有一个模型
class PlaylistModel < ActiveRecord::Base
/* code */
end
然后在控制器操作中有像这样的代码
PlaylistController < ActionController::Base
def a_action
@item = Playlist.find(10)
@item[:visited] = true
end
end
但是visited
(或播放列表表的架构中)没有定义PlaylistModel
属性!看起来新属性正在动态添加到对象中。这是发生了什么,所有这些功能定义在哪里/我在哪里可以阅读更多相关信息。
感谢您的帮助!
答案 0 :(得分:12)
这是解释here的属性设置器快捷方式。它几乎相当于:
@item.attributes[:visited] = true
答案 1 :(得分:2)
我认为您正在寻找的是虚拟属性......可以在模型中定义http://railscasts.com/episodes/16-virtual-attributes