2016-06-29 15 views
0

Ich versuche, die DB abzufragen, um zu sehen, ob ein offenes Haus für eine bestimmte Auflistung existiert. Wenn dies der Fall ist, möchte ich, dass es eine Spanne anzeigt. Ich habe einen Helfer erstellt, der auf dem basiert, was ich gelesen habe, aber der Bereich wird auf allen Listen angezeigt, nicht nur auf denen, die ein offenes Haus haben. Jede Hilfe wird geschätzt.Verwendung existiert? in Rails 4

Application:

class ApplicationController < ActionController::Base  

    def upcoming_oh 
    if @open_houses = OpenHouse.exists? 
    end 
    end 
    helper_method :upcoming_oh 

end 

Anzeigen Index:

<% upcoming_oh %><span class="label label-nklyn-yellow">Upcoming Open House</span> 
+1

oops wollen verstecken. wollte das nicht löschen. Grundsätzlich ActiveRecord :: existiert? Wenn das Klassenobjekt aufgerufen wird, wird true zurückgegeben, wenn ALLE Zeilen in der zugehörigen Tabelle vorhanden sind, false, wenn keine vorhanden sind. – jaydel

Antwort

1

Sie können überprüfen, ob Ihr Modell einen bestimmten Datensatz enthält existiert Funktion

if OpenHouse.exists?(your_record) 
    # do stuff 
end 

Ich bin nicht sicher, was ist OpenHouse, aber ich denke, es ist ein Modell von dir, trotzdem sollte diese Logik dein Problem lösen

können Sie verwenden, wenn/else/anzuzeigen, die eine Spanne oder div oder was auch immer Sie danach ähnliche

<% if @condition %> 
    <span> 
<% end %>