Come rotaie rendono opere in controllore? Perchè qualcosa che non fa uso di layout?
-
20-09-2019 - |
Domanda
ho provato a scrivere il rendering in un'azione, ma il comportamento layout è diverso, perché?
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
Voglio rendere un parziale e seguire il layout di controllo.
Soluzione
Il punto centrale di un parziale è che rende solo una parte di una vista e rende senza la layout.
Vorrei suggerire la creazione di una nuova vista (e di azione nel nostro controller), dire condiviso / full_panel_show, che rende solo il parziale.
<%= render :partial => 'shared/panel_show' %>
Ora nel controller rendono la nuova vista:
def show
render :action => 'shared/full_panel_show'
end
A seconda di ciò che si sta doping con la vista spettacolo, si può solo rendere il parziale è vista invece.
Altri suggerimenti
Ho una soluzione per rendere un parziale layout in regolatore
render 'shared/_panel_show', layout: "layouts/application"
è sufficiente rimuovere il metodo "parziale" quindi aggiungere sottolineatura.