配列の要素を持つモデルに対して関連付けを書く方法を教えてください
InquiryType(お問い合わせ種類)とInquiryContent(お問い合わせ内容)というモデルがあり、それぞれ以下の要素を持っています。Railsのマイグレーションファイルを書きます。
InquiryType:
class CreateInquiryTypes < ActiveRecord::Migration
def change
create_table :inquiry_types do |t|
t.string :name
t.timestamp :created_at
end
end
end
InquiryContent:
class CreateInquiryContents < ActiveRecord::Migration
def change
create_table :inquiry_contents do |t|
t.string :name, null: false
t.string :mail_address, null: false
t.integer :inquiry_type_id, array: true
t.string :content, null: false
t.timestamp :created_at
end
end
end
InquiryContentはinquiry_type_id(InquiryTypeのid)要素を持ちますが、配列でもっています。
具体的に以下のようなことをやりたいです。
例えば、InquiryContentの最初のレコードのinquiry_type_id
の値が[1, 3, 4, 5]
を持っているとします。
その上で、InquiryContent.first.inquiry_type
のようなコードの書き方で該当するInquiryTypeのレコードを全て抽出できるようにしたいと思っています。
その場合、どのような関連を書けばよいでしょうか?
もしくはモデル設計を変えた方が良いでしょうか?
ちなみにInquiryContentにbelongs_to :inquiry_type
、 InquiryTypeにhas_many :inquiry_contents
の関連を書きましたがダメでした。。
このように関連を書くとInquiryContent.first.inquiry_type
でnil
が返ってきてしまいます。