В моем приложении Rails я использую <html id=<%= params[:controller] + "_" + params[:action] %>
в представлениях /layouts/application.html.erb.
Странно то, что значения params[:controller]
и params[:action]
всегда отстают на 1 запрос , если он находится где-то выше открытого тега <body>
.
Итак, если я нахожусь на users/1
, но я пришел из users/
, значения выше открытия <body>
будут контроллером: "users" и action: "index". Не следует ли params[:action]
"показывать"?.
Затем, если я обновляю страницу, она "догоняет" и правильно имеет контроллер: "пользователи" и действие: "показать".
Почему это происходит? Как я могу получить текущий контроллер запросов и действия? Не будут ли эти параметры обновляться до первого вызова yield
?