Rails 模板可以确定哪个控制器调用了它吗?
在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
params[:controller]
变量来确定这一点,或者如果您想要比controller.controller_name
更长的内容。You can use the
params[:controller]
variable to determine this, or if you want something longer thencontroller.controller_name
.