在Ruby on Rails中生成具有多对多的模型

Kev*_*vin 13 activerecord code-generation ruby-on-rails

有没有办法生成一个预定义的多对多关系的Rails模型?事后我知道如何将它添加到Active Record中,但是在数据库迁移和Active Record模型中定义它是很好的.

Hit*_*eeb 17

请记住,您不希望连接表的ID,因此请确保添加:id => false | t |

create_table assemblies_parts, :id => false do |t|
  t.integer :assembly_id
  t.integer :part_id
end
Run Code Online (Sandbox Code Playgroud)

如果你使用rails

rails generate model Assemblies_parts assembly:references part:references
Run Code Online (Sandbox Code Playgroud)

你将有两个索引,但你想要的是

# Add table index
add_index :assemblies_parts, [:assembly_id, :part_id], :unique => true
Run Code Online (Sandbox Code Playgroud)

UPDATE


akr*_*nov 1

请先看这个问题:Creating a multiple-to-manrelation in Rails 3

另外,我会推荐下一本书《Ruby on Rails 3 教程:通过示例学习 Rails》,以便更好地理解ActiveRecord关系。