CSS files for Rails Controllers
Whilst working on various different projects using CSS frameworks such as SASS, 960 Grid System and Blueprint I have found overriding with specific files per controller to be a much cleaner process.
Note: I think Rails 3.1 actually does this out of the box
Obviously it is not always necessary to create a new css file for every controller so I needed a way to include the file if it exists. This saves on unwanted entries in log files for file cannot be found when we kind of know that already.
So what I did was add a before filter to the application controller.
class ApplicationController < ActionController::Base
…
before_filter :controller_styles
private
def controller_styles
@all_styles = Array.new
@all_styles = [“reset”, “960”, “layout”, “nav”, “text”]
controller_style = File.join(Rails.root, “public/stylesheets/”, “#{request.parameters[:controller]}.css”)
if File.exist?(controller_style)
@all_styles.push(request.parameters[:controller].to_s)
end
end
end
What this simple code does is call the method at the start of every request. The method then creates an array with the default css files already included.
A lookup is then made in the stylesheet directory for a css file with the same name as the requesting controller. If it exists, push it on to the end of the array. If it doesn’t, don’t.
Then in the main layout.html.erb view file, include:
<%= stylesheet_link_tag @all_styles %>
into the head of the html and you have the option to override your CSS in a clean structured manor.
Simples!
Sass Highlighting In Dreamweaver 5.5
I have just spent a good while trying to get highlighting to work in Dreamweaver for SASS.
Various guides show to change Extensions.txt and MMDocumentTypes.xml configuration files as on http://kb2.adobe.com/cps/164/tn_16410.html.
The explanations are all correct but if you are using Dreamweaver 5.5, save some hair pulling and edit the above files in your User Profile AppData / Support.
A good explanation can be seen at http://forums.adobe.com/thread/861133

