我正在建立一个活动议程页面,其中包含会议列表和与这些会议相关的发言人,但我们对发言人信息采取了一种未定义的方法
<% @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
答案 0 :(得分:0)
你的演讲者和会话之间的联系搞砸了。如果您想要Session HABTM发言人,您还需要发布HABTM演讲会。
编辑:
经过一番讨论,这就是你要找的东西。发言人has_many :sessions
&amp;会话belongs_to :speaker
,会话表中包含外键speaker_id。