我目前正在开发一个简单的Rails博客应用程序。我正在使用两种不同的布局,一种用于我的文章页面(application.html.erb),另一种用于我的静态页面(welcome.html.erb),例如家庭等。
欢迎布局需要以下样式:
body {
padding-top: 50px;
padding-bottom: 20px;
}
这些特殊属性使用文章布局搞乱了其他页面。
1.是否有针对这种情况的解决方法,在这种情况下,对于不同布局/页面中存在的相同类型的元素,您需要不同的样式?
2.具有控制器特定样式表的重点是什么,例如welcome.css.scss和article.css.scss,如果它们都编译成一个单独的application.css文件?
我正在努力更好地了解Rails资产管道。我使用rails 4.1.1和ruby 2.1.1p76
非常感谢
答案 0 :(得分:1)
如果你看看你的布局,你会得到一个<%= stylesheet_link_tag "application", media: "all" %>
,它基本上告诉rails从application.css加载样式,现在如果你看看你的application.css,你会{ {1}} 加载app / assets / stylesheets中存在的所有样式表,因此您的样式将应用于两种布局。
<强>修正强>
由于您使用的是单独的布局,因此最简单的解决方案将使用不同的类或ID(因为它在页面中是唯一的,*= require_tree .
指出) in您的布局
@MrYoshiji
答案 1 :(得分:0)
因为作为开发人员,您更容易了解这些样式所指的内容。你经常做这样的事情:
<强> one.html.erb 强>
<div id="one">
<!-- code -->
</div>
<强> one.css.scss 强>
#one {
// styling
}
这样one.css.scss
中的样式才会应用于正确的html页面。