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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top