我无法让我的 collection_select 工作.. 我查看了这两个语法冲突的链接,似乎都无法工作。我还阅读了 Rails 文档。
Rails 3 使用 has_many belongs_to 关联构建一个选择标签
“测试”的未定义方法“合并”:字符串 - 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>
感谢大家。