迭代Rails5模型对象并使用特定的枚举键值呈现对象

时间:2017-10-08 02:33:29

标签: ruby-on-rails enums ruby-on-rails-5

我有以下枚举:

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 个答案:

答案 0 :(得分:1)

您可以使用SQLAlchemyUserDatastore方法按枚举进行过滤。假设where是一个ActiveRecord集合,那么你可以这样:

@products

我使用<% @products.where(productgroup: :regular_product).each do |product| %> <%= render 'product_row', product: product, order_item: @order_item %> <% end %> 作为示例,但您可以将其替换为用户:regular_product选择的变量甚至参数。