stylesheet_link_tag and javascript_include_tag both have a very handy hash options generator at the end of the files.
ie:
def stylesheet_link_tag(*sources) options = sources.last.is_a?(Hash) ? sources.pop.stringify_keys : { } sources.collect do |source| source = stylesheet_path(source) tag("link", { "rel" => "Stylesheet", "type" => "text/css", "media" => "screen", "href" => source }.merge(options)) end.join("\n") end
Now this is great for 1 machine, but when you are on a clustered setup, that merge(options) call is different from machine to machine.. Thus not being returned as a 304 until each version of that file is well, updated!
Perhaps they should include a way to overwrite for multi-machine setups. A more suitable approach would be to create a hash key from the svn repository number of the file.
Any thoughts?