在我的Rails应用程序中,我使用< html id =<%= params [:controller]“_”params [:action]%>在views / layouts / application.html.erb中.
奇怪的是,params [:controller]和params [:action]的值总是滞后于1个请求,如果它位于开头< body>标签.
所以如果我在用户/ 1,但是我来自用户/,上面的值打开< body>将控制器:“用户”和动作:“索引”. params [:action]不应该“显示”?
解决方法
对于控制器,您可以访问本地实例控制器.
如果你想要它的全名,你需要使用像controller.class.name.split(“::”)这样的东西,首先在你的例子中给你UserController.如果您只想要返回用户,可以使用controller.controller_name
如果你想要它的全名,你需要使用像controller.class.name.split(“::”)这样的东西,首先在你的例子中给你UserController.如果您只想要返回用户,可以使用controller.controller_name
对于该操作,您可以使用controller.action_name
更新:
请在您的看法中尝试这些,看看它们是否也落后:
<p><%= controller_name %></p> <p><%= action_name %></p>
我怀疑他们在我的回答中都提到前面提到的控制器,但值得尝试.