2016-05-10 7 views
0

Ich habe eine Movie Review Tabelle mit approve Spalte das ist ein boolean. Würde ich in der Lage sein, durch jede Bewertungen zu durchlaufen und zu sehen, ob einige der Bewertungen sind true?Postgres Tabellenspalte Looping

Wenn eine (mindestens) die Bewertungen zugelassen sind (true), dann angezeigt, sonst Anzeige <p>No reviews at the moment...</p>

Bisher habe ich this..I diese nur Scheck wissen, ob eine Überprüfung sind in der Datenbank und nicht, wenn sie sind true oder false. Nicht sicher, wie man es richtig macht.

<% if [email protected]? %> 
    <p>No reviews at the moment. Be the first!</p> 
<% else %> 
    <% @movie.reviews.each do |review| %> 
    <%= render "/reviews/review" , review: review%> 
    <% end %> 
<% end %> 

Antwort

1

dies versuchen ..

<% unless @movie.reviews.where("reviews.approve = ?", true).present? %> 
    <p>No reviews at the moment. Be the first!</p> 
<% else %> 
    <% @movie.reviews.each do |review| %> 
    <% if review.approve %> 
     <%= render "/reviews/review" , review: review%> 
    <% end %> 
    <% end %> 
<% end %> 
+0

Danke für die Hilfe es funktionierte! Auch ich frage mich, ob es gute Praxis ist, es so in html.erb-Datei zu schreiben oder sollte auf den Controller verschieben? – Tim

+0

@Tim Ich würde es vorziehen, die Abfrage von Ansichtsvorlage zu 'Movie' Modell zu verschieben. – dp7