Как отсортировать данные в поле зрения? - PullRequest
2 голосов
/ 16 ноября 2011

Я использую Ruby 1.8.2 и Rails 2.3.11.

<% @answered_respondents = Inquiry.find(:all, :conditions => ["question_id = (?) AND is_answered = 1 AND is_denied = 0", q.id]) %>


<% @answered_respondents.each_with_index do |r, i| %>
    <% @nene = Respondent.find(:all, :conditions => ["id = (?)", r.respondent_id ]) %>
      <% @nene.each do |zz| %>
         <span class="statis_answered_resp"><%= zz.email %></span>
      <% end %>
<% end %>

Что я хочу сделать: я хочу отсортировать по электронной почте своих пользователей (zz.email).Как я могу это сделать?

1 Ответ

2 голосов
/ 16 ноября 2011

создать область по умолчанию в вашей модели

Rails2:   default_scope :order => 'email ASC' 
Rails3:   default_scope order('email ASC') 

По умолчанию будет только это, по умолчанию для всех ваших просмотров.

Для других заказов вы также можете создавать другие области, например,

Rails2:   named_scope :special :order => 'email ASC' 
Rails3:   scope :special order('email ASC') 

Чтобы использовать therm, вы просто говорите ModelName.all.special Также было бы неплохо обновить ваш рубин как минимум до 1.8.7.

1.9.2 тоже хорошо работает и будет отлично
Хотя и не зависимый, он обычно используется с Rails3

...