Это всего лишь ваша попытка объединения мельница один ко многим.
class AddHelpCategoryIdToHelpRequest < ActiveRecord::Migration[5.2]
def change
add_reference :help_requests, :help_categories, index: true
end
end
Это добавляет столбец help_category_id
к таблице help_requests
и внешний ключ. Затем добавьте ассоциации:
class HelpRequest < ApplicationRecord
belongs_to :help_category
end
class HelpCategory < ApplicationRecord
has_many :help_requests
end
belongs_to
сообщает ActiveRecord, что внешний ключ находится в этой таблице. has_many сообщает Rails, что на эту модель ссылаются из другой таблицы.
Затем вы можете назначить категорию, передав идентификатор или запись:
help_category= HelpCategory.create!(title: "Help with Shopping")
hr = HelpRequest.create!(
title: "Please help me to collect my shopping",
help_category: help_category
)
# This is primarily done indirectly through the params
hr = HelpRequest.create!(
title: "Please help me to collect my shopping",
help_category_id: help_category.id
)
Вы также можете просто создать / инициализировать записи вне ассоциации:
hr = help_category.help_requests.create!(
title: "Please help me to collect my shopping",
)