2012-07-03 23 views
16

Tengo un controlador doméstico y un controlador de noticias. Quiero que estos dos controladores utilicen el archivo de diseño application.html.erb y, además de eso, para el hogar, use el diseño y las noticias para el hogar, use el diseño de noticias. y luego renderiza una vista específica. ¿Es esto posible en los rieles?Diseño de rieles por controlador

En otras palabras, no quiero especificar un diseño por vista, sino por controlador, ambos heredando del diseño application.html.erb.

Lo que quiero hacer es eliminar la redundancia de agregar la barra de navegación superior e incluir javascript/css en cada archivo de diseño. Prefiero incluir eso en un archivo, y hacer un diseño específico del controlador con otro diseño, y finalmente renderizar la vista.

Gracias

+0

Creo que puede eliminar los archivos home.html.erb & news.html.erb del directorio de diseños y de la aplicación.html.erb. por defecto. Creo que estás sufriendo de uno de los aspectos negativos del uso de los andamios de rieles (genera los archivos de diseño de forma predeterminada). – Brian

Respuesta

31

Se puede decir que un controlador de usar un diseño específico, por ejemplo

class HomeController < ApplicationController 
    layout 'home' 
end 

class NewsController < ApplicationController 
    layout 'news' 
end 

Estos esperarán los diseños en app/views/layouts/home.html.erb etc

+0

Sí, pero quiero que use el diseño de la aplicación, luego genere el diseño del inventario y luego visualice una vista específica. – 0xSina

Cuestiones relacionadas