Rails 3.2错误显示视图中的审核更改

时间:2012-07-19 07:03:53

标签: html ruby-on-rails controller ruby-on-rails-3.2 acts-as-audited

我有一个奇怪的问题。当我在contracten视图中包含此代码时,我的审核gem在我的视图中不起作用:

<p><%= @contracten.respond_to?(:audits) %></p>
<br />
<%= @contracten.audits.each do |audit| %>
  <%= audit.version %>
  <br />
<% end %>

它出现以下错误:undefined method审核'为nil:NilClass`

当我的观点中只有这一行时:<p><%= @contracten.respond_to?(:audits) %></p> 它表示错误而不是真,所以我不认为我的控制器工作正常。

我的控制器显示:

  def show
    add_breadcrumb 'Contract Bekijken', :contracten_path

    @contracten = Contracten.find(params[:id])
  end

我的模特:

class Contracten < ActiveRecord::Base

  audited

  has_attached_file :pdf

  attr_accessible :betalingsperiodeeenheidid, :betalingstermijn, :contractduur, :contractid, :contractsoortid, :datumeinde, :datumingang, :naam, :omschrijving, :opzegtermijn, :organisatieid, :persoonid, :vestigingid, :pdf

end

我在这里发布了一个类似的问题:Show Last modified tables/records Rails 3.2但这并不是关于审计的具体问题。我没有找到一个更简单的宝石,所以这可能会奏效。但我仍在努力与观点

1 个答案:

答案 0 :(得分:0)

false是对nil.respond_to?(:audits)

的正确回复

您的@contracten未正确设置,且为零。你可能需要:

<% if @contracten.present? %>
  <p><%= @contracten.respond_to?(:audits) %></p>  
  <%= @contracten.audits.each do |audit| %>
    <br /><%= audit.version %>
  <% end %>
<% end %>