1

我正在寻找一种方法来选择 grouped_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 => 'ALL' " 对 collection_select 工作正常,但对 grouped_collection_select 不工作。

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

我试图在数据库中放置一条空白记录,或者将“ALL”放入数据库中,其中包含很多符号,例如:“# ALL #”......不适用于数字(147、156、159 [.. 。], # 全部 #,...)

编辑:

或者也许我可以在每个子类别中添加一个字段,并定义“第一”?但我想保持一切按“名称 ASC”排序。

我已经放了

    default_scope order('name ASC')

在我的 Modeler.rb

4

1 回答 1

0

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

我只需要添加

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

到我的 jQuery 代码中,并将值设置为“BLANK”(在我的情况下非常重要)。

并放

:include_blank => true

代替

:include_blank => 'ALL'

在搜索表单中

问题解决了。

不管怎么说,还是要谢谢你!

于 2012-06-22T22:59:28.110 回答