¿Hay alguna forma de averiguar cuál es el controlador actual desde la vista?
Para ver un ejemplo de por qué me gustaría saber esto: si varios controladores comparten el mismo diseño, es posible que tenga una parte en el archivo ERB de diseño donde quiero resaltar el elemento del menú de la página actual en función del controlador.
Quizás sea un mal enfoque. Si es así, ¿cuál es la forma más preferida de hacer esto?
Sin embargo, estoy interesado en saber cómo obtener el nombre del controlador actual de cualquier manera.
(Obviamente, podría poner algo como @controller_name = 'users'en cada controlador; pero ese parece ser el tipo de cosas que Rails ya habría hecho detrás de escena. Así que me pregunto si hay una forma integrada).

paramsa la vista. Por favor, usecontroller_nameen su lugarEn las Guías de Rails, dice:
Parámetros de ActionController
Entonces, supongamos que tiene una clase CSS
active, que debe insertarse en cualquier enlace cuya página esté actualmente abierta (tal vez para que pueda diseñar de manera diferente). Si tiene unstatic_pagescontrolador con unaaboutacción, puede resaltar el enlace de esta manera en su vista:fuente
Admin::Ordersentoncescontroller_nameyparams[:controller]será"orders"y"admin/orders"respectivamente.Admin::UsersControllerrealidad tengo uncontroller_namedeusersy uncontroller_pathdeadmin/usersen Rails 4.1.0.referencia
fuente
controller_pathcontiene la ruta del controlador utilizado para servir la vista actual. (es decir:)admin/settings.y
controller_namecontiene el nombre del controlador utilizado para servir la vista actual. (es decir:)settings.fuente
Si desea utilizar todas las hojas de estilo en su aplicación, simplemente agregue esta línea en application.html.erb. Insertarlo dentro de la
<head>etiquetaAdemás, para especificar la misma clase CSS en un controlador diferente
Agregue esta línea en la
bodyaplicación.html.erbEntonces, ahora, por ejemplo, me gustaría cambiar la
petiqueta en el controlador 'home' y la acción 'index'. Elindex.scssarchivo interior agrega.fuente