0

У меня есть модель «Вопрос» и модель «Тег». Я добавил к этим двум образцам ассоциацию «многие-ко-многим». это то, что я есть сейчас:Rails добавляет многие из многих ассоциаций?

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

проверить, если это поможет http://stackoverflow.com/questions/5120703/creating-a-many-to-many-relationship-in-rails-3 –

ответ

0

Создание миграции для объединения таблицы с помощью следующей команды:

$ rails g migration questions_tags question_id:integer tag_id:integer 

Создать таблицу в базе данных:

$ rake db:migrate 

Rails волшебном поможет вам заполнить таблицу соединений. Я создал many-to-many code quiz с примером has_and_belongs_to_many, который может оказаться полезным.

0

Вы можете проконсультироваться с направляющими рельсами на ассоциациях here. Вот фрагмент кода прямо оттуда:

# 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 
Смежные вопросы