使特定的Rails视图显示某些帮助程序

时间:2014-08-07 15:16:30

标签: ruby-on-rails

如何使特定视图显示不同的帮助者。

module ApplicationHelper

    def about_title
        %Q{Everything you need!}.html_safe
    end

    def contact_title
        %Q{Contact us!}.html_safe
    end
end

我有一个部分标题在每个视图中呈现,但我想显示不同的标题标题,而不必直接编辑视图(或在视图中编辑变量?以显示我想要的内容?)

<h1 class="title"><%= about_title %></h1>

我在想帮助你做if/else,但我是rubyonrails的新手,我不确定这是怎么做的。

1 个答案:

答案 0 :(得分:2)

您需要在某处设置标题。有几种方法可以解决这个问题。您可以使用控制器+操作名称,并在i18n中设置标题。

en:
  titles:
    home_index: "Welcome!"
    session_new: "Login"

然后在你的布局中:

<title><%= t("titles.#{controller.controller_name}_#{controller.action_name}") %></title>

另一种方法是使用content_for&amp; yield但这意味着将代码放入您的视图中:)