2011-03-16 43 views

回答

3

您可以使用Rails指南中的此参考。 Here is the link。您还需要为使​​用迁移的模型手动创建连接表。

e.g

create_table :assemblies_parts, :force => true do |t| 
     t.integer :assembly_id 
     t.integer :part_id 
    end 
+0

感谢您的回复,我已阅读该指南。就像我对另一位响应者所说的那样,我只是想知道生成的模型脚本是否可以在一个步骤中处理它,而且看起来它不能如此,这很好......虽然会很好。 ; p – Kevin 2011-03-16 18:03:03

+0

是的,我不认为它可以自动完成。如果我发现捷径,我会在这里发布:)。 – Shiv 2011-03-16 21:39:19

16

请记住,你不想要的连接表的ID,所以一定要补充:ID =>假| T |

create_table assemblies_parts, :id => false do |t| 
    t.integer :assembly_id 
    t.integer :part_id 
end 

如果使用导轨

rails generate model Assemblies_parts assembly:references part:references 

您将有两个指标,但你想要的是

# Add table index 
add_index :assemblies_parts, [:assembly_id, :part_id], :unique => true 

UPDATE

+1

http://jonathanhui.com/ruby-rails-3-model-many-many-association – 2012-03-22 15:43:37