Rails 模板可以确定哪个控制器调用了它吗?

发布于 2024-10-21 07:16:03 字数 238 浏览 4 评论 0原文

在我的 Rails 应用程序中,我想更新应用程序范围布局中标头元素的内容,并让该内容取决于哪个控制器正在处理请求。例如,如果 UserController 正在处理请求,则标头元素内容可以是“用户页面”,但如果 PhotoController 正在处理请求,则标头元素内容可以是“照片页面”。我想出的解决方案(使用 content_for 或设置实例变量)似乎都需要重复代码,我正在寻找一个 DRY 实现。我可以在视图中使用反映当前控制器的 Rails 变量吗?

In my Rails app, I want to update the contents of a header element in my application wide layout and have that content depend on which controller is handling the request. For example, if UserController is handling the request, then the header element content could be "User Page", but if the PhotoController is handling the request then the header element content could be "Photo Page". The solutions I've came up with (using content_for or setting instance variables) all seem to require code duplication and I'm looking for a DRY implementation. Is there a Rails variable that I can use in my view that reflects the current controller?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千纸鹤带着心事 2024-10-28 07:16:03

您可以使用 params[:controller] 变量来确定这一点,或者如果您想要比 controller.controller_name 更长的内容。

You can use the params[:controller] variable to determine this, or if you want something longer then controller.controller_name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文