我在资产/样式表位置中有一个clients.css和jobs.css。Rails CSS样式表覆盖对方
每个都有一个相应的控制器。乔布斯是在客户之后用脚手架创造的。 scaffolds.scss文件是空白的。
application.css是空白
当我编码在jobs.css的变化如body{color:black}
,它改变了客户端/ index.html.erb视图和作业/ index.html.erb视图。
这可能是什么原因?我想有工作和客户单独.css文件..
我在资产/样式表位置中有一个clients.css和jobs.css。Rails CSS样式表覆盖对方
每个都有一个相应的控制器。乔布斯是在客户之后用脚手架创造的。 scaffolds.scss文件是空白的。
application.css是空白
当我编码在jobs.css的变化如body{color:black}
,它改变了客户端/ index.html.erb视图和作业/ index.html.erb视图。
这可能是什么原因?我想有工作和客户单独.css文件..
链轮串接所有的JavaScript文件合并为一个主js文件 和所有的CSS文件合并成一个主的.css文件。
这意味着什么,当然是,当你做出改变,以jobs.css
,你会看到相同的CSS被应用到所有匹配的元素在整个应用程序。所有这些独立的.css文件都可以帮助您从人的角度而不是从应用程序的角度来组织事物。
你可能只想拿出不同的ID,并根据您的页面(如#body_client
和#body_job
)上区分它们的类,但你可以看到这个命名约定如何能得到笨拙为您的应用程序的增长。
拥有单独的资产是可能的,但不是没有一些痛苦。
在application.js
,删除:
//= require_tree
在application.css
,删除:
*= require_tree
在application.html.erb
,添加以下内容:
<%= stylesheet_link_tag "application", params[:controller], :media => "all" %>
<%= javascript_include_tag "application", params[:controller] %>
在config/initializers/assets.rb
创建一个新的初始化文件,添加下面的代码:
%w(clients_controller jobs_controller).each do |controller|
Rails.application.config.assets.precompile += ["#{controller}.js.coffee", "#{controller}.css"]
end
这应该让你设置单独的每页资产。查看原始blog post了解更多详情。
哇......那真是太疯狂了..所有那些都有单独的样式表 – HoosierCoder
是的,我添加了一个替代作为编辑,但它是kludgey。真正的“解决方案”是想出一个您喜欢的所有网页设计。这样,您在初始开发和维护方面的努力就很小。 – MarsAtomic
是的,对所有页面的设计都有意义 – HoosierCoder
在你的'application.html.erb'布局中,样式表是如何被需要的? – Jeff
'<%= stylesheet_link_tag'application',media:'all','data-turbolinks-track'=> true%>' – HoosierCoder