【发布时间】:2012-08-25 09:39:55
【问题描述】:
解决方案
在 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
原始问题
处理修改后的 stylesheet_link_tag 帮助器以根据 rails 版本正确传递内容,因为此地图可能会作为 Rails 3.1.x 中的引擎加载。到目前为止,这是我的代码,以及我想做的事情:
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, options,因为link_tag 方法需要几个参数,而不是数组。如果它接收到一个数组,那么你会得到如下路径:css/reset/css/main.css
任何人都对我如何使它起作用有想法。更糟糕的情况是我不能将选项传递给它,但我宁愿避免这种情况。
【问题讨论】:
标签: ruby-on-rails ruby-enterprise-edition