0

我正在使用 Rails 3.2.1 并有两个模型 CookingVenue 和 DiningVenue 以及相关的 MySQL 表 Cooking_venues 和 Dining_venues。我已经设置了两个模型之间的 has 和 belongs to many 关系,但是这里的 MySQL 表名称是什么来表示连接?

cooking_venues_dining_venues吗?

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

4

2 回答 2

0

就像你说的,cooking_venues_dining_venues 是连接表的名称。在使用 cook_venue_id 和 Dining_venue_id 字段创建此表后,您需要在两个模型中定义 has_and_belongs_to_many 关联。

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
于 2012-03-01T19:16:40.250 回答
0

是的。您只需像您所做的那样以 alpha 顺序命名连接表,您应该一切顺利。

于 2012-03-01T19:11:52.957 回答