在Rails中显示所有相关的记录信息

时间:2014-06-02 22:33:40

标签: ruby-on-rails mongodb mongoid

我正在建立一个活动议程页面,其中包含会议列表和与这些会议相关的发言人,但我们对发言人信息采取了一种未定义的方法

视图

<% @event.sessions.day_1.each do |s| %>
  <%= s.time.strftime("%H:%M") %>
  <%= s.title %>
  <%= s.speaker.name %>
  <%= s.speaker.company %>
<% end %>

控制器

def index
  @sessions = Session.all
end

演讲者模型

has_and_belongs_to_many :sessions

会话模型

has_and_belongs_to_many :events
has_and_belongs_to_many :speakers

scope :day_1, where(day: 'Day 1')
scope :day_2, where(day: 'Day 2')

default_scope -> { order_by("time ASC") }

活动模型

has_and_belongs_to_many :sessions

错误

undefined method `name?' for "536f3cd4ad921dd345000001":String

1 个答案:

答案 0 :(得分:0)

你的演讲者和会话之间的联系搞砸了。如果您想要Session HABTM发言人,您还需要发布HABTM演讲会。

编辑:

经过一番讨论,这就是你要找的东西。发言人has_many :sessions&amp;会话belongs_to :speaker,会话表中包含外键speaker_id。