我有两个带有相同类的scss文件和main_controller.rb中的两个方法,它们生成page1和page2
= stylesheet_link_tag'application'
在application.html.haml
中如何渲染两个页面,哪个页面会使用不同的scss文件?
答案 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; }
}