2017-10-08 65 views
0

我有以下枚举:遍历Rails5模型对象,并呈现与某个特定的枚举密钥值对象

enum productgroup: { regular_product: 0, plaque_type: 1, plaque_size: 2, plaque_proof: 3} 

与以下产品循环:

<% @products.each do |product| %> 
    <%= render 'product_row', product: product, order_item: @order_item %> 
<% end %> 

我有几十个产品,每个属于特定的枚举产品组。我想让我的产品循环只呈现特定枚举群组类型的产品。

回答

1

您可以通过枚举使用where方法进行筛选。假设@products是ActiveRecord的集合,那么你可以是这样的:

<% @products.where(productgroup: :regular_product).each do |product| %> 
    <%= render 'product_row', product: product, order_item: @order_item %> 
<% end %> 

我已经使用:regular_product作为一个例子,但你可以替换一个变量,甚至用户params[:productgroup]选择的参数。