Dans un État, nous avons Shops, avec la colonne de base de données type
dans chaque entrée de magasin: épicerie, Mode et alimentaire.séparés « chacun » à « types » en vue Rails
Je le code suivant:
<% @country.states.each_with_index do |state, i| %>
State <strong><%= i + 1 %></strong>
<% state.shops.each do |shop| %>
=====showing attributes of each shop=====
<% end %>
<% end %>
Dans le code ci-dessus, tous les commerces seront listés selon les ID croissant:
Shop ID1 (Type = Food)
Shop ID2 (Type = Fashion)
Shop ID3 (Type = Grocery)
Shop ID4 (Type = Fashion)
Shop ID5 (Type = Food)
Au lieu de sortir each
, je voudrais montrer à le type
préféré pour:
Fashion
Shop ID2
Shop ID4
Grocery
Shop ID3
Food
Shop ID1
Shop ID5
J'ai essayé d'utiliser l'instruction if state.shops.type == 'Fashion'
, mais cela ne fonctionne pas. Quelle est la bonne façon d'écrire cela?
Merci.
Je voudrais avoir l'ordre de types à. Exemple, je veux la mode d'abord, puis l'épicerie, puis la nourriture. – Victor
Faites ceci: 'state.shops (: order => 'type ASC'). Group_by (&: type)' – wuputah
@wuputah, votre commande se traduirait par Mode, Nourriture, Épicerie à la place. Je ne serai pas en mesure de faire une commande personnalisée. – Victor