GISTはここにある: https://gist.github.com/1553371In Rails 3.1 belongs_to関連付けを持つフォームの選択リストを作成するにはどうすればよいですか?
これらは私が持っているモデルです。
class Character < ActiveRecord::Base
has_many :weapons
end
class Weapon < ActiveRecord::Base
belongs_to :character
end
と、これはHAMLで私の見解は次のようになります。
= form_for(@weapon) do |f|
%ul.fields
%li
= f.label :character
= collection_select :weapon, :character_id, Character.all, :id, :name, {:prompt => 'Please Select a Character.'}
が、私はこのエラーを取得しておきます:
undefined method `character_id' for #<Weapon:0x007f9033232088>
character_id
の文字列を使用しようとしましたが、これも機能しませんでした。フォームは:character
でレンダリングされますが、もちろんid
が必要なため、元に戻すことはできません。
をドキュメントには自動的に_id列を追加する必要があるいくつかの魔法の魔法があることを暗示していますが、私は物事を悪化させるのを恐れていましたが、これは完全に機能します。本当にありがとう! –