如何从红宝石中选择一个类别?

时间:2014-12-11 15:29:47

标签: ruby-on-rails ruby

我需要在我的选择中显示所有类别,除了名为" Landing"的类别。

我的代码

<%= f.collection_select :category_id, Category.all(order: :name), :id, :name %>

我怎样才能逃脱&#34;着陆&#34;来自收藏品?

谢谢!

3 个答案:

答案 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使用Rails 2使用fake_arel gem

Collection.where(Collection.arel_table[:name].not_eq('Landing')).order(:name)
相关问题