2 Stimmen

Wie kann man Daten in der Ansicht sortieren?

Ich verwende Ruby 1.8.2 und 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 %>

Was ich tun möchte: Ich möchte meine Benutzer nach E-Mail sortieren (zz.email). Wie kann ich das tun?

2voto

Michael Durrant Punkte 88734

Einen Standardbereich in Ihrem Modell erstellen

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

Die Standardeinstellung ist genau das: die Standardeinstellung für alle Ihre Ansichten.

Für andere Ordnungen können Sie auch andere Bereiche erstellen, z. B.

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

Um therm zu verwenden, sagen Sie einfach ModelName.all.special Es wäre auch eine gute Idee, Ihr Ruby mindestens auf 1.8.7 zu aktualisieren.

1.9.2 funktioniert auch gut und wäre auch toll
Obwohl nicht abhängig, wird es normalerweise mit Rails3 verwendet

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X