web-dev-qa-db-fra.com

ruby on Rails comment rendre une page sans mise en page ni autre champ principal

else
  respond_to do |format|
    format.html { render "tabelle/show" }
  end
end    

Je souhaite rendre la page ... avec uniquement le code de cette page .... ne pas ajouter le <head>... et le champ <body> dans Ruby on Rails . Je souhaite uniquement afficher le résultat du code dans la page. tabelle/show.html.haml

23
mewosic

Vous pouvez le faire comme ça:

format.html { render "tabelle/show", :layout => false  } 
33
fmendez

ajouter 

:layout => false

Exemple:

render "tabelle/show", :layout => false
8
HungryCoder

Manette:

layout false, only: [:method_name]

c'est très utile lorsque vous utilisez render_to_string

6
Fabricioblz

Si vous ne souhaitez pas spécifier la vue à utiliser.

Rails est suffisamment intelligent pour savoir quel modèle de vue utiliser en fonction de l'action du contrôleur sur laquelle vous êtes. 

Par exemple, si vous utilisez l'action show de la TabellesController, vous n'avez pas besoin de spécifier render "tabelle/show" dans votre action Controller car Rails assumera déjà cela et tentera automatiquement de restituer le fichier en app/views/tabelles/show.html.erb.

Donc, si vous vous en tenez à toutes ces valeurs par défaut, vous pouvez simplement utiliser ce qui suit pour rendre sans le modèle de présentation typique: 

def show
  # Other stuff in your Controller Action.

  render layout: false
end

Ceci rendra app/views/tabelles/show.html.erb mais sans le gabarit de présentation automatiquement.

Noice.

0
Joshua Pinter