Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails中显示所有关联的记录信息_Ruby On Rails_Mongodb_Mongoid - Fatal编程技术网

Ruby on rails 在Rails中显示所有关联的记录信息

Ruby on rails 在Rails中显示所有关联的记录信息,ruby-on-rails,mongodb,mongoid,Ruby On Rails,Mongodb,Mongoid,我正在建立一个事件议程页面,其中有一个会话列表和与这些会话相关的发言者,但我得到了一个关于发言者信息的未定义方法 看法 扬声器模型 会话模型 事件模型 错误 您的演讲者和会话之间的关联是混乱的。如果您想要使用HABTM扬声器,还需要使用HABTM扬声器会话 编辑: 经过一些讨论,这就是你要找的。演讲者有多个:会话和会话属于:会话表中具有外键演讲者id的演讲者。演讲者属于:会话和会话有多个:演讲者没有意义。在这一行:,第1天是什么?它是会话的一个属性吗?你可以发布你的schema.rbday_1的

我正在建立一个事件议程页面,其中有一个会话列表和与这些会话相关的发言者,但我得到了一个关于发言者信息的未定义方法

看法 扬声器模型 会话模型 事件模型 错误


您的演讲者和会话之间的关联是混乱的。如果您想要使用HABTM扬声器,还需要使用HABTM扬声器会话

编辑:


经过一些讨论,这就是你要找的。演讲者有多个:会话和会话属于:会话表中具有外键演讲者id的演讲者。

演讲者属于:会话和会话有多个:演讲者没有意义。在这一行:,第1天是什么?它是会话的一个属性吗?你可以发布你的schema.rbday_1的作用域是数据库中的一个day字段。上面的关联不正确。一次会议有一名发言者。一个演讲者可以参加许多会议。正确的关联应该是什么?好的。。错误是未定义的方法名?你确定在你的视图中没有一个拼写错误是你不小心在叫这个名字吗?此外,s.speaker不应该工作,因为您的会话有许多发言者。会话中的演讲者方法不存在,但演讲者确实存在。绝对没有打字错误,实际上一个会话有一个演讲者。一个演讲者可以参加许多会议。正确的关联应该是什么?因此,您想要的实际上是Speaker有很多:会话&会话属于:Speaker,会话表中具有外键Speaker\u id。是的,该关联更正了我的所有问题!非常感谢:
<% @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