在我的应用中,有两种型号:rfq和标准。他们的关系是多对多的。在rfq创建屏幕中,下面的代码在下拉列表中显示可供选择的列表:
<%= simple_form_for @rfq do |f| %>
<%= f.association :standards, :collection => Standard.active_std.all(:order => 'name'), :label_method => :name, :value_method => :id %>
<% end %>
问题是列表未折叠,这意味着多行框中显示多个标准。如何将盒子减少到一行?
感谢。
更新:这是多行列表框的屏幕截图:
答案 0 :(得分:1)
它正在创建一个多选项,因为一个rfq可以有许多标准,因此它允许您按住Ctrl键单击以选择许多标准。
您可以尝试添加:input_html => { :size =>'1' }
,但我不确定是否会保留滚动条。它肯定不会下降。
以下是其他想要做同样事情的人:HTML muliple select should look like HTML select。其中一个答案是指在jQuery中实现的Dropdown Check List,但这需要一些工作来与SimpleForm集成。
SimpleForm有一个非常有用的Google群组 - 您可能会在那里获得更多想法:
答案 1 :(得分:1)
您可以添加as: :collection_select
答案 2 :(得分:-1)
使用
=f.collecion_select, model_associated_ids, collection, value, label
在你的是这样的
=f.collection_select, :standard_ids, Standard.active_std.all, :id, :name
你可以在这里找到更多信息