Wie Schienen machen Arbeiten in der Steuerung? Warum etwas, das es nicht verwenden Layout?
-
20-09-2019 - |
Frage
Ich habe versucht, in einer Aktion schreiben zu machen, aber das Layout Verhalten unterscheidet sich, warum?
def show
# assuming we have a partial in app/views/shared/_panel_show.html.erb
#render "shared/_panel_show" # have layout
#render "/shared/_panel_show" # without layout
#render "shared/panel_show" # Template is missing
#render :partial => "shared/panel_show" # without layout
render :partial => "/shared/_panel_show",:layout => "application" # have layout
end
Ich möchte einen Teil machen und Controller Layout folgen.
Lösung
Der ganze Sinn eines Teil ist, dass es nur einen Teil einer Ansicht macht und macht es ohne Layout.
Ich würde vorschlagen, eine neue Ansicht (und Handeln in unseren Controller) zu schaffen, sage shared / full_panel_show, das macht nur den teilweise.
<%= render :partial => 'shared/panel_show' %>
Jetzt in Ihrem Controller die neue Ansicht machen:
def show
render :action => 'shared/full_panel_show'
end
Je nachdem, was Sie mit der Show Ansicht sind Doping, könnten Sie machen nur die teilweise von ihm die Sicht statt.
Andere Tipps
Habe ich eine Lösung, die einen teilweise zu machen mit Layout in Controller
render 'shared/_panel_show', layout: "layouts/application"
nur entfernen Sie die „teilweise“ Methode dann Strich hinzuzufügen.