Rails 4:如何从特定视图中排除CSS文件?

Rails 4:如何从特定视图中排除CSS文件?,css,ruby-on-rails,ruby-on-rails-4,Css,Ruby On Rails,Ruby On Rails 4,如何从特定视图(home.html.erb)中排除特定CSS文件(custom.CSS.scss) 下面的场景。我的rails应用程序由实际的web应用程序和向外的登录页组成,用户必须登录才能看到它 web应用程序的CSS位于名为custom.CSS.scss的文件中 对于登录页,我创建了一个名为static\u pages.CSS.scss的新CSS文件 现在,问题显然是Rails拉入所有样式表并将其应用于所有视图: *=require\u树。 *=需要\u self 但是,现在我的登录页被c

如何从特定视图(home.html.erb)中排除特定CSS文件(custom.CSS.scss)

下面的场景。我的rails应用程序由实际的web应用程序和向外的登录页组成,用户必须登录才能看到它

web应用程序的CSS位于名为
custom.CSS.scss
的文件中

对于登录页,我创建了一个名为
static\u pages.CSS.scss
的新CSS文件

现在,问题显然是Rails拉入所有样式表并将其应用于所有视图:

*=require\u树。
*=需要\u self

但是,现在我的登录页被custom.css.scss文件弄乱了,该文件包含特定于应用程序的css,反之亦然

由于我的登录页只是一个页面,理想的解决方案是从代表登录页的my home.html.erb文件中排除
custom.css.scss

我怎样才能做到这一点

我已经找到了很多关于这个问题的话题,但是我搞不懂。有些看起来只是注入,有些看起来是排除


非常感谢您的帮助

在模板中查找此类行:

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>

在模板中查找此类行:

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>

如果希望在每页的基础上包含特定的样式表,则必须单独创建和编译它,并根据需要调用它:

#config/initializers/assets.rb

#app/assets/stylesheets/application.css
/* 
  *= require_tree .
  *= require self
  *= stub custom
*/

#app/assets/stylsheets/custom.css
...
这将允许您指定何时调用样式表:

#app/views/layouts/application.html
<%= stylesheet_link_tag :application, (:custom if controller_name != "landing") %>
#app/views/layouts/application.html

如果您不使用着陆控制器,这将仅加载
自定义
样式表。

如果您希望在每页的基础上包含特定的样式表,您必须单独创建和编译它,并根据需要调用它:

#config/initializers/assets.rb

#app/assets/stylesheets/application.css
/* 
  *= require_tree .
  *= require self
  *= stub custom
*/

#app/assets/stylsheets/custom.css
...
这将允许您指定何时调用样式表:

#app/views/layouts/application.html
<%= stylesheet_link_tag :application, (:custom if controller_name != "landing") %>
#app/views/layouts/application.html

这将仅在您未使用着陆控制器的情况下加载
自定义
样式表。

在主页上以自定义CSS不适用的方式编写HTML。在主页上以自定义CSS不适用的方式编写HTML。