with rails from different application ruby-on-rails layout

ruby-on-rails - from - render rails



Desactivar el diseño para uno de acción (4)

Mi situación: la acción de vista de ReportsController debe mostrar html puro, pero no como un archivo (para verlo en el navegador y guardarlo después). Por lo tanto, para la representación utilizo la plantilla de vista view.html.erb y necesito desactivar cualquier diseño para esta acción. Pero en otras acciones de este controlador, los diseños deben permanecer intactos. Funciona solo para el controlador completo de esta manera:

ReportsController < ApplicationController layout false

Pero eso lo hace mal :( para todas las acciones intenté usar algo como esto en acción:

def view @report = Report.new(params[:report]) unless @report.valid? render :action => ''new'' and return else render :layout => false end end

¿Que debería hacer?


En el bloque responder, agregue el layout: false .

Por ejemplo:

respond_to do |format| format.html { render :layout => false } # your-action.html.erb end



Prueba esto:

ReportsController < ApplicationController layout false layout ''application'', :except => :view


Si desea obtener una plantilla no estándar, sin diseño, puede usar:

def non_rest render template: ''layouts/something_new'', layout: false end