首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 5引导4(单控制器)中索引动作的不同css

问rails 5引导4(单控制器)中索引动作的不同css
EN

Stack Overflow用户
提问于 2016-10-05 06:12:05
回答 2查看 980关注 0票数 1

我正在为我的应用程序使用一个特定的引导4模板。此模板(cover.css)特定于主页,因为所有其他页面都将使用不同的样式。

如何仅将cover.css用于索引操作?

在我的application.css中,我添加了@import "cover",我可以只将它应用于索引操作吗?

我尝试创建两个布局:application.html.erb用于应用程序,第二个布局home.html.erb仅用于主页。如何将cover.css与index操作相关联,并为应用程序的其余部分提供仪表板布局和css?

我使用的是rails 5和引导4 alpha。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-09 06:19:38

要做到这一点,有几种方法。

您可以创建包含cover.css资产的布局,然后只为索引操作应用布局,如本文所述Rails layouts per action?

代码语言:javascript
复制
class MyController < ApplicationController
  layout :resolve_layout

  # ...

  private

  def resolve_layout
    case action_name
    when "new", "create"
      "some_layout"
    when "index"
      "other_layout"
    else
      "application"
    end
  end
end

另一种选择是使用单个布局并对样式进行范围调整。

在views/layouts/application.html.erb中,body标记上的类设置如下

当<body class="<%= controller_name %> <%= action_name %>">呈现时,它将输出<body class="home index">

然后,在您的cover.css范围内,您的样式到.home.index选择器。

代码语言:javascript
复制
body.home.index h1{
    /* this style is only applied on the home/index page */
}
票数 2
EN

Stack Overflow用户

发布于 2016-10-09 04:19:13

像这样的东西会有用的。

代码语言:javascript
复制
<%= stylesheet_link_tag    "application", :media => "all" %>
<%= stylesheet_link_tag params[:controller] %>

参见这里的第三个答案:How do I use Controller specific stylesheets in Rails 3.2.1?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39866593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档