0

我正在尝试使用印象派宝石来跟踪关系的访问。我的 write 方法效果很好:

@document.publications.each do |publication|
  impressionist(publication)
end

我有这样的has_many, :through关系(在这里简化了,但一切正常):

class Document
  has_many :components, :through => :publications
end

我只是在编写查询以获取基于组件的相关印象时遇到问题。我的失败代码目前如下所示:

<% document.components.each do |component| %>
  <%= component.publications.where(:document_id => document.id).impressionist_count %>
<% end %>

我得到一个没有方法的错误,如下所示:

undefined method 'impressionist_count' for #<ActiveRecord::Relation:blah

我知道我正在错误地编写失败的代码,但我正在努力寻找正确的方法来编写它。

4

1 回答 1

1

您需要在您的关联中设置 :counter_cache

观看此视频,清楚地解释了http://railscasts.com/episodes/23-counter-cache-column

于 2013-07-24T01:13:58.010 回答