Ste*_*ven 47 ruby-on-rails ruby-on-rails-3
image_path 仅返回路径(无主机).
该url_for助手将不会接受一个单一的路径,所以像url_for(image_path('image.png'))行不通的.而内部url_for的ActionDispatch::Http::Url.url_for似乎做的伎俩(源),似乎没有成为它的公共接口.
我应该怎么做呢?最终,有一个像路由image_url一样的函数是很好的,url_for所以我可以调用image_url('image.png')并获得所有的绝对URL default_url_options.
tig*_*tig 51
def image_url(source)
URI.join(root_url, image_path(source))
end
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以使用assets_host或连接root_url.
Jof*_*din 14
试试这个application_helper.rb(来自Spike页面上的一条评论):
def image_url(source)
"#{root_url}#{image_path(source)}"
end
Run Code Online (Sandbox Code Playgroud)
我们的生产和暂存资产位于s3/cloudfront ......但不是本地/ dev.所以我写了这个(可能是矫枉过正,可能会简化):
def get_digest_file(source)
return asset_path(source.to_s.downcase) unless Rails.application.config.assets.digests.present?
return ActionController::Base.asset_host + "/assets/" + Rails.application.config.assets.digests[source.to_s.downcase]
end
Run Code Online (Sandbox Code Playgroud)
看起来,最近,sass-rails现在以image_url预期的方式解释scss文件中的命令,解析到所讨论的图像的最终位置.
| 归档时间: |
|
| 查看次数: |
29908 次 |
| 最近记录: |