1

我只是想确保我走在正确的轨道上,但是在为使用相同名称的 HABTM 创建迁移时,例如:

class Dog < ActiveRecord::Base
  has_and_belongs_to_many :dog_categories
end

class DogCategory < ActiveRecord::Base
  has_and_belongs_to_many :dogs
end

我在想这个…………

rails g migration dogs_dog_categories dog_id:integer dog_category_id:integer

这对我来说看起来很奇怪,但迁移/表应该是这样的吗?

4

1 回答 1

2

根据导轨指南

模型名称之间的优先级是使用字符串的 < 运算符计算的。这意味着如果字符串的长度不同,并且在与最短长度相比时字符串相等,则认为较长的字符串比较短的字符串具有更高的词汇优先级。例如,由于名称“paper_boxes”的长度,我们希望表“paper_boxes”和“papers”生成连接表名称“papers_paper_boxes”,但实际上它生成的连接表名称“paper_boxes_papers”(因为下划线“_”在常用编码中按字典顺序小于“s”)。

所以,我认为应该是dog_categories_dogs

于 2012-07-24T20:24:14.573 回答