¿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).
params
a la vista. Por favor, usecontroller_name
en 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_pages
controlador con unaabout
acción, puede resaltar el enlace de esta manera en su vista:fuente
Admin::Orders
entoncescontroller_name
yparams[:controller]
será"orders"
y"admin/orders"
respectivamente.Admin::UsersController
realidad tengo uncontroller_name
deusers
y uncontroller_path
deadmin/users
en Rails 4.1.0.referencia
fuente
controller_path
contiene la ruta del controlador utilizado para servir la vista actual. (es decir:)admin/settings
.y
controller_name
contiene 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
body
aplicación.html.erbEntonces, ahora, por ejemplo, me gustaría cambiar la
p
etiqueta en el controlador 'home' y la acción 'index'. Elindex.scss
archivo interior agrega.fuente