2017-10-08 7 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 %> 

私はそれぞれの製品の数十を持っています特定のenum製品グループに属しています。私の製品ループは特定のenum grouptypeの製品のみをレンダリングするようにしたいと思います。

答えて

1

whereメソッドを使用して列挙型でフィルタリングできます。 ActiveRecordのコレクションが@productsをされると仮定すると、あなたのようなものでした:

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

私は例として:regular_productを使用していたが、あなたは置き換えることができ、その変数またはユーザーparams[:productgroup]が選択したとしても、パラメータによって。

関連する問題