Ruby on rails f选择多个选择在表单中使用不起作用

Ruby on rails f选择多个选择在表单中使用不起作用,ruby-on-rails,Ruby On Rails,我一直在使用RubyonRails进行项目。我已经创建了一个包含多个字段的表单,其中一个字段用于我想选择多个作业的作业,但现在我无法使用以下代码选择多个作业。使用ruby on rails 3和HAML。我还提到了多个true,但它仍然不起作用 = f.select :jobs, options_from_collection_for_select(Demojob.all, 'name','name' ), :multiple => true 如果检查form builder sele

我一直在使用RubyonRails进行项目。我已经创建了一个包含多个字段的表单,其中一个字段用于我想选择多个作业的作业,但现在我无法使用以下代码选择多个作业。使用ruby on rails 3和HAML。我还提到了
多个true
,但它仍然不起作用

= f.select :jobs, options_from_collection_for_select(Demojob.all, 'name','name' ), :multiple => true 

如果检查form builder select方法()的实现,您将看到方法签名为:

select(method, choices = nil, options = {}, html_options = {}, &block)
multiple
标志应使用
html\u选项
散列传递,而不是
选项
。在您的情况下,它应该是:

f.select :jobs, options_from_collection_for_select(Demojob.all, 'name', 'name'), {}, :multiple => true
或者,如果您更喜欢新的哈希语法,则更好:

f.select :jobs, options_from_collection_for_select(Demojob.all, 'name', 'name'), {}, multiple: true
最后,使用form builder进行选择时,无需使用集合中的选项,只需将选项作为数组传递即可:

f.select :jobs, Demojob.all.collect { |job| [job.name, job.name] }, {}, multiple: true

干杯

“不工作”是指你的方法得到了什么?我得到了一个单值下拉列表,用于选择“不多个”。@Variandersohal:很高兴我能帮上忙。。)