collection_select を機能させることができません。競合する構文を持つこれら 2 つのリンクを調べましたが、どちらも機能していないようです。Railsのドキュメントも読みました。
Rails 3は、has_many belongs_to関連付けを使用して選択タグを作成します
"test":String の未定義のメソッド 'merge' - Rails 3.1
別の構文を試すと別のエラーが発生しますが、現在のエラーは次のとおりです。
undefined method `map' for nil:NilClass
モデル
class Instruction < ActiveRecord::Base
attr_accessible :exercise_id, :order, :sentence, :instruction_type_id
belongs_to :exercise
belongs_to :instruction_type
end
class InstructionType < ActiveRecord::Base
has_many :instructions
has_many :exercises, :through => :instructions
attr_accessible :name
end
命令コントローラ
def create
@instruction = Instruction.new(params[:instruction])
end
指示書
<div class="field">
<%= f.label :instruction_type_id %><br />
<%= f.collection_select(:instruction_type_id, @instruction_types, :id, :name, :prompt => 'Please select country') %>
<%= f.label :order %><br />
<%= f.number_field :order %>
</div>
みんな、ありがとう。