これは少し簡単だと思いましたが、非常に単純なものが欠けている可能性があります。ビューにドロップダウン リストをteams/create
表示して、チームに適切なディビジョンを選択できるようにしたいと考えていました。そのディビジョンは、テーブルの列にid
配置されます。division_id
teams
私は2つのモデルを持っています:
class Team < ActiveRecord::Base
attr_accessible :city, :name
belongs_to :divison
has_many :players
end
class Division < ActiveRecord::Base
attr_accessible :name
has_many :teams
end
およびそれに付随する移行:
create_table :divisions do |t|
t.string :name
t.timestamps
end
create_table :teams do |t|
t.string :name
t.string :city
t.integer :division_id
t.timestamps
end
ビューでは、ドロップダウン リストは期待どおりに機能します。
<%= collection_select(:team, :division_id, Division.all, :id, :name) %>
ただし、フォームを送信すると、値が に配置されません:division_id
。代わりに、Can't mass-assign protected attributes: division_id
エラーが発生します。私が行った検索から、attr_accessible を削除することはできましたが、それはセキュリティ上の欠陥をもたらします。