Bu benim görünümümdeki kodum. Denetleyici, sadece @ kategorisini modelden alıyor.Rails 2.3'de nasıl döngü yapılır?
Bu tür çalışmıyor. Nihayetinde isme göre alfabetik olarak sıralamak gerekiyor.
<%- @category.brands.sort_by{|brand| brand.name}.each do |brand| -%>
<li <%= "class='current'" if brand == @brand %>><%= link_to(brand.name, [@category, brand]) %></li>
<%- end -%>
Herhangi bir fikir? yaygın olarak sıralamak aynı alanda tarafından <=>
yöntemi define (ve isteğe bağlı olarak Karşılaştırılabilir dahil) modeline ve sadece model.sort
arayıp Eğer
<% @category.brands.sort { |a,b| a.name <=> b.name }.each do |brand| %>
<li <%= "class='current'" if brand == @brand %>>
<%= link_to(brand.name, [@category, brand]) %>
</li>
<% end %>
Bu ghayes yöntemi daha "doğru" ama yaklaşık olarak aynı çalışacaktır. Bu yaklaşımları bir melez yapabilir ve sadece başka bir yerde yapmayacaksanız, uzay gemisi operatörünü tanımlamak yerine, denetleyicideki argümanlarla sıralamayı çağırabilir. – Karl
uzay gemisi operatörü haha? Daha önce hiç böyle bir şey demediğini duymadım. Bunu sevdim. – loosecannon