显示上次修改的表/记录Rails 3.2

我仍然无法弄清楚如何实现这一点,因为我是一个新手。 有些人打电话给我说我必须使用审计,所以它确实如此。 这是我的控制器:

def show add_breadcrumb 'Contract Bekijken', :contracten_path @contracten = Contracten.find(params[:id]) @audits = @contracten.audits.collect { |a| a.created_at } respond_to do |format| format.html # show.html.erb format.json { render json: @contracten } end end 

这是我整个控制器的一个馅饼。 http://pastie.org/4270702

但我不知道这是对的,也不知道如何实现这一点。

我希望有人真的可以提供帮助,因为我本周真的需要这个。

谢谢。


我有一个rails应用程序,我可以在数据库中存储合同,它还有数据库中的人员和工厂表。 现在我想要一个最后修改过的表。

我希望当人们更新/添加新记录到数据库时,它会在屏幕截图中显示div中的修改。

感谢:D

您需要的是编辑的审核历史记录。

您可以自己实现(通过挂钩到该模型的ActiveRecord回调 ,可能有意义,如果您确实想要自己编写自定义业务逻辑)。

示例实现可能如下所示:

 class Contract < ActiveRecord::Base after_save :audit def audit log = AuditLog.new(:user_id => current_user, :action => :update, ...) log.save end end 

这假设您有一个AuditLog模型,其中包含您要登录的相应字段以及您写入的审计方法。

或者,更简单的方法是使用为您执行此操作的Audited gem (但可能会有一些限制)。

从Audited的文档中,您似乎可以简单地获取Contract记录并使用该模型上的审核来访问经过审计的信息。

样品

 def show @contract = Contract.find(params[:id]) @audits = @contract.audits.collect { |a| a.created_at } end 

现在,您拥有@audits变量中审计的所有时间戳,并可以使用<% @audits.each do ...从视图中访问它们。

从您的问题看来,您似乎只需要一个基于updated_at字段的列表。

怎么样 – @contract_list = Contract.all.order( "updated_at DESC").limit(10)

然后,您可以遍历视图中的列表。

好看的页面!