我在資產/樣式表位置中有一個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