使用 Rails 服务器 URL 显示图像
Show image with Rails server URL
我的 rails 源中有一张图片 rails_project/public/images/2019-12/image1.png
我想通过访问 URL 来显示图片:
http://10.0.5.140:8888/applications/images/2019-12/image1.png
(10.0.5.140 is my IP and 8888 is my rails port)
我尝试了一些解决方案,但总是收到错误消息:
Routing Error
No route matches [GET] "/applications/images/2019-12/image1.png"
请给我一些想法来解决我的问题。谢谢!
因为您的图像在 public 文件夹中。请试试这个
http://10.0.5.140:8888/images/2019-12/image1.png
要显示 public 文件夹的静态图片,您也可以试试这个:
<img src="/images/2019-12/image1.png">
使用资产助手方法image_tag()
。您一定要阅读官方指南的 Coding Links to Assets.
<%= image_tag('/images/2019-12/image1.png') %>
应该适合你。
Rails 使用 asset pipeline 并从资产加载路径提供文件(默认为 app/assets
、lib/assets
、vendor/assets
)
在开发中,这些加载路径下的文件由应用服务器提供。
在 production 中,这些加载路径下的文件被预编译成 /public/assets
并由 nginx 等网络服务器提供服务。
image_tag
方法与
- 相对文件路径,例如'file.png' 搜索
/public/assets/file.png
- 绝对文件路径,例如'/images/file.png' 搜索
/public/images/file.png
我的 rails 源中有一张图片 rails_project/public/images/2019-12/image1.png
我想通过访问 URL 来显示图片:
http://10.0.5.140:8888/applications/images/2019-12/image1.png
(10.0.5.140 is my IP and 8888 is my rails port)
我尝试了一些解决方案,但总是收到错误消息:
Routing Error
No route matches [GET] "/applications/images/2019-12/image1.png"
请给我一些想法来解决我的问题。谢谢!
因为您的图像在 public 文件夹中。请试试这个
http://10.0.5.140:8888/images/2019-12/image1.png
要显示 public 文件夹的静态图片,您也可以试试这个:
<img src="/images/2019-12/image1.png">
使用资产助手方法image_tag()
。您一定要阅读官方指南的 Coding Links to Assets.
<%= image_tag('/images/2019-12/image1.png') %>
应该适合你。
Rails 使用 asset pipeline 并从资产加载路径提供文件(默认为 app/assets
、lib/assets
、vendor/assets
)
在开发中,这些加载路径下的文件由应用服务器提供。
在 production 中,这些加载路径下的文件被预编译成 /public/assets
并由 nginx 等网络服务器提供服务。
image_tag
方法与
- 相对文件路径,例如'file.png' 搜索
/public/assets/file.png
- 绝对文件路径,例如'/images/file.png' 搜索
/public/images/file.png