Stylesheet_link_tag, javascript_include_tag - food for thought

stylesheet_link_tag and javascript_include_tag both have a very handy
hash options generator at the end of the files.


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))

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?