解決
1.8を使用している間、受け入れられた回答を直接使用することはできませんでしたが、以下を見つけるのに役立ちました。
def stylesheet_include(*sources)
if /^3\.[1-2]/ =~ Rails.version && sources.last.is_a?(Hash)
sources.last.delete :cache
end
stylesheet_link_tag *sources
end
元の質問
このマップはRails3.1.xのエンジンとしてロードされる可能性があるため、Railsのバージョンに応じて適切に渡すために変更されたstylesheet_link_tagヘルパーに取り組んでいます。これまでの私のコードと、やりたいことは次のとおりです。
def stylesheet_include(*sources)
options = sources.extract_options!.stringify_keys
if /^3\.[1-2]/ =~ Rails.version
options.delete "cache"
end
stylesheet_link_tag *sources, options
end
問題は、sources変数で*を呼び出すときに2番目のパラメーターを渡すことができないことです。sources, options
link_tagメソッドには配列ではなく複数のパラメーターが必要なため、どちらも渡すことはできません。配列を受け取った場合、次のようなパスを取得します。css/reset/css/main.css
これを機能させる方法については、誰でもアイデアがあります。最悪のシナリオでは、オプションを渡すことはできませんが、それは避けたいと思います。