0

这不是我对资产管道的期望。

假设我有一个名为“bugs_controller.rb”的控制器。生成控制器还会在资产管道中为我提供一个样式表,称为:

bugs.css.scss

现在,我在 Rails 3.2.8 应用程序中使用 simple_form_for。我希望我在这个控制器中的表单元素用 布局float:le ft,所以在 bugs.css.scss 中我放了:

.control-group {
  float: left;
}

但是当我这样做时,它会将这种风格应用于我的所有观点。

这意味着资产管道提供关注点分离,仅用于与 CSS 相关的维护目的。这是正常功能吗?如果是这样,在每个页面上加载用户不需要的 CSS 背后的原因是什么?还是我的应用程序错误地将 bugs.css.scss 加载到其他视图上?

4

1 回答 1

1

您正在加载 application.css 吗?如果你是并且你有这条线 *= require_tree 。然后将加载样式表文件夹中的所有 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;
}
于 2012-09-14T02:15:11.680 回答