0

我有一个名为 Note 的模型。每个音符都属于_to :call_reason。并且 call_reason has_many :notes。

我想在视图中显示一个 call_reasons 列表以及旁边的每个呼叫原因的总数,以便我们可以看到最受欢迎的呼叫原因是什么。

这是我到目前为止所拥有的:

仪表板控制器:

  def index
    @notes = Note.all
  end

仪表板视图:

<% @notes.each do |n| %>
   <%= n.call_reason.reason %>
<% end %>

这列出了所有笔记的 call_reasons。

我绊倒了如何列出每个 call_reason 一次,旁边有一个总数。我现在所拥有的只是列出了每个音符的所有 call_reasons,这是一团糟。我想我可以以某种方式确定范围或更改实例变量,但我很难让它正确。

有什么想法吗?

4

1 回答 1

0

由于您想列出通话原因,您应该从以下内容开始:

def index
  @call_reasons = CallReason.all
end

然后在您看来,您可以这样做:

<% @call_reasons.each do |call_reason| %>
  <%= call_reason.reason %> <%= call_reason.notes.count %>
<% end %>

请注意,这将对数据库中的每个呼叫原因执行查询。为了防止这种情况,您可以使用计数器缓存。也可以查看Rails Guides上关于计数器缓存的部分。

于 2013-04-15T13:39:07.627 回答