如何显示特定发言人的订户数量

时间:2015-12-29 22:05:03

标签: ruby-on-rails ruby-on-rails-4

我想在索引页面中显示特定发言人的订阅者数量。我没有在我的路线上做任何事情,因为我只是在索引页面中循环。我有工作听众协会。在我的页面控制器中我有

class PagesController < ApplicationController

  def home
    @messages = Message.all.order("created_at DESC")

    @speakers = Speaker.all
    @sub = ListenersSpeakers.all


  end

end

在我的视图中,我尝试循环并插入此代码,但它不起作用。

<% @sub.each do |sub| %>
<%= @sub.speaker.count %>&nbsp;Subscribers</span>
<% end %>

我的模特

class ListenersSpeakers < ActiveRecord::Base
  belongs_to :listener
  belongs_to :speaker
end

更新  我的扬声器模型有

has_many :listeners_speakers,  class_name: 'ListenersSpeakers'

1 个答案:

答案 0 :(得分:0)

所以我假设在Speaker模型中,has_many :listener_speakers喜欢:

class Speaker < ActiveRecord::Base
  has_many :listener_speakers
end

然后您可以使用

@sub.speaker.listener_speakers.count

在视图中获取侦听器的数量。

与问题无关,但您可能还需要考虑添加:

has_many :listeners, through: :listener_speakers

因为这可能最终证明是有用的。