轨。使用不同的css文件

时间:2013-09-26 15:45:58

标签: ruby-on-rails sass haml

我有两个带有相同类的scss文件和main_controller.rb中的两个方法,它们生成page1和page2

  

= stylesheet_link_tag'application'

在application.html.haml

如何渲染两个页面,哪个页面会使用不同的scss文件?

2 个答案:

答案 0 :(得分:0)

应用程序/控制器/ pages_controller.rb

class PagesController < ApplicationController
  layout 'for_another_page', only: :page2

  def page1
  end

  def page2
  end
end

应用程序/视图/布局/ for_another_page.html.erb

. . .
= stylesheet_link_tag 'another_scss_stylesheet'
. . .

配置/环境/ production.rb

config.assets.precompile += %w( another_scss_stylesheet.css )

我认为它可以为您提供有关RailsGuides http://guides.rubyonrails.org/layouts_and_rendering.html

的更多信息

答案 1 :(得分:0)

不要那样做。它使简单的事情变得不必要地复杂化并且为每个页面包含单独的CSS不是一个好习惯。

这样做:

查看

# app/views/page.html.erb
<div class="#{action_name}">
   <div class="page-content"></div>
</div>

SCSS

.page1 {
  .page-content { background: red; }
}

.page2 {
  .page-content { background: green; }
}