这不是我对资产管道的期望。
假设我有一个名为“bugs_controller.rb”的控制器。生成控制器还为我提供了资产管道中的样式表:
bugs.css.scss
现在,我在Rails 3.2.8应用程序中使用simple_form_for。我希望这个控制器中的表单元素与float:le ft
一起布局,所以在bugs.css.scss中我放了:
.control-group {
float: left;
}
但是当我这样做时,它会将该风格应用于我的观点的所有。
这意味着Asset Pipeline仅针对CSS的维护目的提供关注点分离。这是正常的功能吗?如果是这样,在每个页面上加载用户不需要的CSS背后的原因是什么?或者我的应用程序错误地在其他视图上加载了bugs.css.scss?
答案 0 :(得分:1)
您正在加载application.css吗?如果你是,你在那里有这条线 * = require_tree。 然后将加载stylesheets文件夹中的所有css文件。我是rails 3的新手,并不确定这是否是推荐的方法,但是当我需要在我的布局文件中,在加载需要加载的css文件之后的head标签中执行所要求的操作时我把
<%= yield :css_files %>
然后在其他视图中需要文件顶部的其他特定css文件,我添加
<%= content_fo :css_files do %>
<%= stylesheet_link_tag 'whatever.css' %>
<% end %>
希望这有帮助。
或者你总是可以将表单包装在一个带有id的容器中,并在css目标.control-group中包装该特定容器:
#form-wrapper .control-group
{
float: left;
}