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')
并得到所有default_url_options
所提供的绝对URL地址。
asset_url
和相关选项的:host
选项,例如asset_url('my_image.png', host: root_url)
。请参阅asset_url文档。 - Nic Nilov