【问题标题】:How to have a collasped drop down list in rails simple_form如何在rails simple_form中有一个折叠的下拉列表
【发布时间】:2012-01-09 21:12:54
【问题描述】:

在我的应用程序中,有两种模型: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 %>

问题是列表没有折叠,这意味着在多行框中显示了多个标准。如何将框缩小到仅一行?

谢谢。

更新:这里是多行列表框的屏幕截图:

【问题讨论】:

  • 所以,它会为您创建多项选择,对吧?你不想多选?
  • 常规下拉列表只有一行。我的跨越多行,在屏幕上占用太多空间。
  • 所以如果多选有问题,请使用:&lt;%= f.association :standards, :collection =&gt; Standard.active_std.all(:order =&gt; 'name'), :label_method =&gt; :name, :value_method =&gt; :id, :input_html =&gt; { :multiple =&gt; false } %&gt;
  • 还是一样,加上 :input_html...
  • 刚刚用屏幕截图更新了帖子。谢谢。

标签: ruby-on-rails associations simple-form


【解决方案1】:

它创建了一个多选,因为一个 rfq 可以有多个标准,所以它允许您按住 ctrl-click 来选择多个标准。

您可以尝试添加:input_html =&gt; { :size =&gt;'1' },但我不确定这是否会保留滚动条。绝对不会掉下来的。

还有其他人想做同样的事情:HTML muliple select should look like HTML select。其中一个答案是指在 jQuery 中实现的 Dropdown Check List,但这需要一些工作才能与 SimpleForm 集成。

SimpleForm 有一个非常有用的 Google 群组——您可能会在那里获得更多想法:

http://groups.google.com/group/plataformatec-simpleform

【讨论】:

    【解决方案2】:

    你可以加as: :collection_select

    【讨论】:

      【解决方案3】:

      使用

      =f.collecion_select, model_associated_ids, collection, value, label 
      

      你是这样的

      =f.collection_select, :standard_ids, Standard.active_std.all, :id, :name
      

      你可以在这里找到更多信息

      https://github.com/plataformatec/simple_form

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-05
        • 2016-09-19
        • 1970-01-01
        • 2019-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多