私は Rails の初心者であり、このトピックに関する情報を得るために Web (Ryan の Railcast を含む) を精査しましたが、私が試したすべてがうまくいきませんでした。
ユーザーが好きな種類のおやつをテーブルに追加できるようにしようとしています。今のところ、3 つのテーブルがあります: おやつ (メイン テーブル)、icecream_flavors、およびブランドです。私が設定した関係は次のとおりです。
class Treats < ActiveRecord::Base
has_many :icecream_flavors
has_many :brands
class Brands < ActiveRecord::Base
belongs_to :treats
class Icecream_flavors < ActiveRecord::Base
belongs_to :treats
おやつテーブルには、Icecream_flavor_id と Icecream_brand_id のフィールドがあります。
Icecream_flavors テーブルには、flavor_name と brand_id のフィールドがあります。私は、Icecream_flavors テーブルに情報 (チョコレート、バニラなど) と brand_ids をシードしました。
私がやろうとしているのは、エンド ユーザーが Icreamflavors テーブルの情報に基づいて、Treats 新しいフォームのチェックボックスを使用して、Treats テーブルにデータを入力できるようにすることです。チェックボックスで icecream_flavor_id と brand_id を Treats テーブルに渡したいと思います。
テーブルに情報を渡すことはもちろん、Treats フォーム内にチェックボックス フォームを表示することに失敗しました。
これは、別の Brands テーブルと Icecream_flavors テーブルから情報を取得するためのドロップダウン フィールドとテキスト フィールドで使用しているコードです。ドロップダウンとテキスト フィールドを単純なチェックボックス リストに置き換えて、Icecream_flavors テーブルのみからデータを取得してチェックボックス データを入力し、送信時に Treats テーブルを更新したいと考えています。
<h1>Treats</h1>
<%= render 'form' %>
<%= link_to 'Back', treats_path %>
<% form_for :treat, :url => treats_path do |f| %>
<div class="field">
<%= f.label :user_id %><br />
<%= f.number_field :user_id %>
</div>
<div><%= f.label :brand %><br />
<%= collection_select(:treats, :brand_id, Brand.all, :id, :name) %>
<div class="field">
<%= f.label :icecream_flavor_id %><br />
<%= f.number_field :icecream_flavor_id %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
任意のガイダンスをいただければ幸いです。