选择订单Rails记录,或首先显示“ALL”

时间:2012-06-09 22:32:23

标签: ruby-on-rails ruby-on-rails-3 forms

我正在寻找一种方法来选择groups_collection_select的第一条记录,或者在第一选择中显示“ALL”。

<%= f.collection_select :marque_id, Marque.all, :id, :name_upper, :include_blank => 'ALL', :prompt => 'Mark' %>         
     <%= f.grouped_collection_select :modele_id, Marque.all, :modeles, :name_upper, :id, :name_upper, :prompt => 'Model', :include_blank => 'ALL' %> 

“include_blank =&gt;'ALL'”适用于collection_select,但不适用于grouped_collection_select。

对于grouped_collection_select,它只在第一个位置显示一个空白字段。

我试图在数据库中放入一个空白记录,或者将“ALL”放在数据库中,其中包含很多符号,如:“#ALL#”...没有使用数字(147,156,159) [...],#ALL#,...)

编辑:

或许我可以在每个子类别中添加一个字段,并定义“First”?但我想通过“名称ASC”来保持所有订购。

我已经把

    default_scope order('name ASC')

在我的Modele.rb

1 个答案:

答案 0 :(得分:0)

我找到了如何做我想做的事。

我只需要添加

$('#search_modele_id').preprend('<option value="" selected="selected">ALL</option>');

到我的jQuery代码,并将值设为&#34; BLANK&#34; (在我的情况下非常重要)。

然后把

:include_blank => true

而不是

:include_blank => 'ALL'

在搜索表单中

问题解决了。

非常感谢!