加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:获取当前请求的控制器和操作

发布时间:2020-12-16 19:49:51 所属栏目:百科 来源:网络整理
导读:在我的Rails应用程序中,我使用 html id =%= params [:controller]“_”params [:action]%在views / layouts / application.html.erb中. 奇怪的是,params [:controller]和params [:action]的值总是滞后于1个请求,如果它位于开头 body标签. 所以如果我在
在我的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.action_name

更新:

请在您的看法中尝试这些,看看它们是否也落后:

<p><%= controller_name %></p>
<p><%= action_name %></p>

我怀疑他们在我的回答中都提到前面提到的控制器,但值得尝试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读