我需要在我的选择中显示所有类别,除了名为" Landing"的类别。
我的代码
<%= f.collection_select :category_id, Category.all(order: :name), :id, :name %>
我怎样才能逃脱&#34;着陆&#34;来自收藏品?
谢谢!
答案 0 :(得分:3)
鉴于您使用的是rails 4,您可以使用not
:
Category.where.not( name: 'Landing' )
您的代码变为:
<%= f.collection_select :category_id, Category.where.not( name: 'Landing' ).order( :name ), :id, :name %>
答案 1 :(得分:1)
而不是选择all
:
Category.all(order: :name)
您可以使用where
限制结果:
Rails 4
Category.where.not(name: 'Landing').order(:name)
Rails 3
Category.where("name != 'Landing").order(:name)
答案 2 :(得分:0)
您可以Rails
3和4使用arel,Rails
2使用fake_arel
gem:
Collection.where(Collection.arel_table[:name].not_eq('Landing')).order(:name)