2011-01-11 13 views
8

Ich verwende Rails 3 in meinem Projekt.Rendern teilweise in Controller mit Ruby On Rails

In Controller> Artikel In Ansicht> index.html.erb

<% if @articles.blank? %> 
<%= render :partial => "blank" %> 

Ich möchte nicht querysets in Ansichten schreiben für checkin (falls leer dies tun oder dies tun) Wie kann ich unbeschriebenes Blatt passieren Teilweise (wenn queryset leer ist) innerhalb des Controllers?

Danke.

+0

Warum möchten Sie nicht überprüfen, ob '@ articles' in der Ansicht leer ist? –

+0

weil es sich wiederholt – Harry

Antwort

7

Sie können den Schalter auch in der Steuerung schalten.

def index 
    @articles = Article.all 
    render "index_without_articles" if @article.nil? 
end 
0

vielleicht ist es eine Abhilfe, aber es ist eine ganz einfache Lösung

<%= render :partial => "blank_#{@articles.blank?}" %> 

und hat zwei partials genannt „_blank_true.html.erb“ und „_blank_false.html. erb "