2017-02-08 51 views
0

我想改变并在application.html.slim控制器动作设置自定义标题基地,而不是在控制器更改标题基于控制器动作名称

- if controller.action_name=~"home" 
    title Custom title here 
- elsif controller.action_name=~"login" 
    title Login Page 
- else 
    Default title 

但它不起作用。任何人都可以帮忙吗?

回答

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") 
+0

谢谢。它正在工作。 –

相关问题