我想创建一个评分页面,例如:https://nomadlist.com/amsterdam-netherlands
rails g model Rating name user:references
rails g migration CreateJoinTableItemsRatings item rating
我明白了:
create_join_table :items, :ratings do |t|
t.index [:item_id, :rating_id]
t.index [:rating_id, :item_id]
end
但是从docs我看到了:
create_join_table :items, :ratings do |t|
t.index :item_id
t.index :rating_id
end
为什么会有区别?哪一个是首选,为什么?
答案 0 :(得分:1)
生成器是更高性能(和首选)的迁移。
这里有一个非常详细的讨论:How to properly index fields on a Rails join table migration?