В моем приложении 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?