0

我当前的 Rails 项目要求主页具有与页面其余视图不同的标题。唯一的区别是应用于它的样式(更大的徽标,更大的搜索栏......)。我有一个可行的解决方案,但感觉有点“脏”,我想知道是否有更优雅的方式来设置特定页面的样式。

到目前为止,我在应用程序的布局上这样做:

body class="#{controller_name} #{action_name}"

所以我可以在 mi css 上做到这一点:

#headerWrapper {
  font-size: 1.5em;
  ...
}
...
.catalog.index {
  #headerWrapper {
    font-size: 2em;
      ...
  }
}

但是每当我在这里更改基本样式时,索引页面的布局可能会受到影响,我被迫“撤消”我所做的任何更改(即,如果我更改字体大小,我必须相应地调整它.catalog.index 部分)。

任何关于以最优雅的方式处理此问题的想法都将不胜感激。

谢谢。

4

1 回答 1

0

只需为主页创建第二个布局页面,该页面引用您想要的特定外观 css 类,然后指导控制器和特定操作来呈现该新布局,即:

class PostsController < ApplicationController

  layout 'signin', :only => [:show]

  ......

end

更多信息在这里: http: //guides.rubyonrails.org/layouts_and_rendering.html(我建议的特定位是从 2.2.12.1 开始)

于 2013-10-03T11:12:23.747 回答