我有一个“问题”模型和一个“标签”模型。我为这两个模型添加了多对多关联。 这就是我现在所拥有的:
class Question < ActiveRecord::Base
attr_accessible :content, :score, :title
has_and_belongs_to_many :tags
end
class Tag < ActiveRecord::Base
attr_accessible :description, :name
has_and_belongs_to_many :questions
end
如何更新数据库和控制器?
感谢
答案 0 :(得分:0)
您可以参阅关联here的Rails指南。这是一段代码片段:
# Models
class Assembly < ActiveRecord::Base
has_and_belongs_to_many :parts
end
class Part < ActiveRecord::Base
has_and_belongs_to_many :assemblies
end
# Corresponding migration for creating models and join table
class CreateAssembliesAndParts < ActiveRecord::Migration
def change
create_table :assemblies do |t|
t.string :name
t.timestamps
end
create_table :parts do |t|
t.string :part_number
t.timestamps
end
create_table :assemblies_parts do |t|
t.belongs_to :assembly
t.belongs_to :part
end
end
end
答案 1 :(得分:0)
使用以下命令为连接表创建迁移:
$ rails g migration questions_tags question_id:integer tag_id:integer
在数据库中创建表:
$ rake db:migrate
Rails magic将帮助您填充连接表。我创建了一个带有has_and_belongs_to_many示例的many-to-many code quiz,您可能会觉得有用。