Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 如果两个模型都有下划线名称,那么是否有和属于多个模型_Ruby On Rails_Has And Belongs To Many_Tablename - Fatal编程技术网

Ruby on rails 如果两个模型都有下划线名称,那么是否有和属于多个模型

Ruby on rails 如果两个模型都有下划线名称,那么是否有和属于多个模型,ruby-on-rails,has-and-belongs-to-many,tablename,Ruby On Rails,Has And Belongs To Many,Tablename,我正在使用Rails 3.2.1,有两个模型CookingVincement和DiningVincement,以及相关联的MySQL烹饪和餐饮场所表。我已经设置了两个模型之间的has和belling关系,但是这里表示连接的MySQL表名的名称是什么 是烹饪场所还是餐饮场所 Rails会尝试在烹饪和场地等之间找到habtm关系吗,还是Rails真的足够聪明来解决所有这些问题?是的。您只需按字母顺序命名联接表,就可以了。如您所说,烹饪场所\u餐饮场所是联接表的名称。在使用cooking_Vincem

我正在使用Rails 3.2.1,有两个模型CookingVincement和DiningVincement,以及相关联的MySQL烹饪和餐饮场所表。我已经设置了两个模型之间的has和belling关系,但是这里表示连接的MySQL表名的名称是什么

是烹饪场所还是餐饮场所


Rails会尝试在烹饪和场地等之间找到habtm关系吗,还是Rails真的足够聪明来解决所有这些问题?

是的。您只需按字母顺序命名联接表,就可以了。

如您所说,烹饪场所\u餐饮场所是联接表的名称。在使用cooking_Vincement_id和dining_Vincement_id字段创建此表之后,您需要在这两个模型中定义has_和Own_to_多个关联

class CookingVenue < ActiveRecord::Base
  has_and_belongs_to_many :dining_venues       # foreign keys in the join table
end
class DiningVenue < ActiveRecord::Base
  has_and_belongs_to_many :cooking_venues    # foreign keys in the join table
end

非常感谢您的及时回复。到目前为止,我正在努力解决如何将条目添加到联接表中。假设我有一个现有的烹饪场所[id:3,描述:“厨房A]”和一个现有的就餐场所[id:5,desc:'Nice Eatery'。我似乎在如何在联接表中匹配这两个方面有一个思维障碍。关于如何创建联接表的内容很多,但关于如何创建条目本身的内容不多。可能很简单,不需要解释……除了我。为了回答我自己的第二个问题,这就是我想到的。在CookingVenu中我能做的是:c=CookingVincement.find3 d=DiningVincement.find5 c.dining\u Vinces是的,“属性值”}我唯一关心的是,我这样做的方式是,在数据库上有两次点击,首先找到这两个对象,然后插入第三个条目,仅仅由这两个对象的ID组成,这是我从一开始就有的。我想可能是这样直接在联接表上使用sql insert语句更有效。不是“Rails”,但肯定更有效。