我想更改并在application.html.slim中的控制器操作上设置自定义标题,而不是在控制器中
- if controller.action_name=~"home"
title Custom title here
- elsif controller.action_name=~"login"
title Login Page
- else
Default title
但它不起作用。有人可以帮忙吗?
答案 0 :(得分:0)
如果您想使用=~
,您需要在右侧使用正则表达式,而不是字符串。
- if controller.action_name =~ /home/
title Home
- elsif controller.action_name =~ /login/
title Login
- else
title Default
然而,我通常使用的方法是在翻译文件中创建条目,config/locales/en.yml
可能在您的情况下,并将页面标题放在那里。如果没有条目,则它会回退到您提供的默认值。
en:
page_titles:
welcome:
index: Welcome
login: Login
然后直接在视图中或创建辅助函数。
title= I18n.t("page_titles.#{controller.controller_name}.#{controller.action_name}", default: "Default title")