我需要做的事很简单,但一个优雅的方式是逃避我,因为我是Rails的noob。基本上,我需要根据当前显示的视图来更改驻留在application.html.erb文件中的body标记的class属性。在Rails中根据当前视图/控制器更改类属性?
所以,我的索引网页上这将是:
<body class="pull_top">
但其他任何网页(到目前为止)上,它将是
<body>
我首先想到的是把它添加到application_helper.rb
def body_class
default_class = ""
if current_page?(controller: 'index')
default_class = "pull_top"
end
default_class
end
然后做
<body class="<%= body_class %>">
但随后在指数之外的所有其他网页我想最终
<body class="">
我想避免。
听说的地方,它的坏形式把逻辑放在你的观点上。这就是为什么我避开它。 – 2013-04-30 05:15:30
你可以移动这个controller_name =='index'? “class ='pull_top'”:''到辅助方法。我只是向你展示一个解决方案。 – 2013-04-30 05:18:16