我正在创建一个应用程序,其中只有模型是Project,在项目视图中我可以看到包含自动生成的变量的表,即创建的 _at和updated_at。 我想跟踪updated_at变量意味着如果用户更新项目10次,它将显示updated_at变量10次,以便我可以跟踪项目模型。
答案 0 :(得分:0)
您需要另一个模型来跟踪一段时间内的变化,并在创建项目模型时使用活动记录回调。
假设您正在通过名为ProjectChanges
的模型跟踪您的更改rails g model ProjectChange project_id:integer change:string when:datetime
然后将回调挂钩实现添加到项目模型中
class Project < ActiveRecord::Base
has_many :project_changes
after_create :record_update( 'create' )
after_save :record_update( 'update' )
...
def record_update( what_happened )
# not forgetting to add attr_accessible to the ProjectChange class if you want to mass assign like this
ProjectChange.new( { :change => what_happened, :when => Time.now } )
end
end