Ruby on rails 何时将代码放入应用程序\u controller.rb

Ruby on rails 何时将代码放入应用程序\u controller.rb,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,几周来,我一直在使用Rails创建我的第一个网站,并不断收集新的信息,每天都更喜欢它。这个网站帮了我很大的忙,谢谢 我遇到了一个场景,当我试图设置我的元标签,普遍使用一个(全局)功能,试图使其干燥和所有 以下是好的还是坏的做法?我是不是忽略了一些我本可以做的简单的事情 下面这句话是一个梦,在我看来很符合逻辑,但这是一个坏习惯吗 应用程序中的\u controller.rb: def make_meta_title name title = name if [params[:page]

几周来,我一直在使用Rails创建我的第一个网站,并不断收集新的信息,每天都更喜欢它。这个网站帮了我很大的忙,谢谢

我遇到了一个场景,当我试图设置我的元标签,普遍使用一个(全局)功能,试图使其干燥和所有

以下是好的还是坏的做法?我是不是忽略了一些我本可以做的简单的事情

下面这句话是一个梦,在我看来很符合逻辑,但这是一个坏习惯吗

应用程序中的\u controller.rb:

def make_meta_title name

  title = name

  if [params[:page]]
    title << " page " + params[:page]
  end

  title << " | My Site Name"

end
那么在我看来

<title><%= @meta_title %></title>


p、 请不要评论我的语法,这是从内存中得到的,因为我现在在另一台计算机上,但它是沿着这些路线的

application_controller.rb应该包含与应用程序中的所有其他控制器共享的内容。。。这有几个典型的用例(比如一些共享过滤器-例如身份验证)


现在在这个特定的例子中,您可以使用控制器中的一些内容和助手方法的组合。控制器将存储要添加到页面的元,助手将为这些元生成标记。。。然后将其添加到layouts/application.html.erb(或您使用的任何模板引擎)中。

IMO将文字文本
“页面”
“|我的网站名”
作为数据呈现方式的一部分,因此应该是视图的一部分。如果你的站点的每个页面都遵循这个方案,我会将其移动到你的全局布局页面中


另一方面,如果你有时创建一个
@meta\u title
而不使用
make\u meta\u title
,那么你所做的对我来说似乎是合理的。

我投票决定结束这个问题,因为它是在征求主观意见,而没有“正确”的答案。不过,我会在下面给出我的意见。
<title><%= @meta_title %></title>
Blue widget | My Site Name
Blue widget page 2 | My Site Name