我正在处理来自depot_a app的Agile Web Development with Rails 4。按照任务A中的步骤操作,所有图像都在app/assets/images/
:
[~/projects/try_ruby/depot]$ ls app/assets/images/
cs.jpg logo.png rails.png rtp.jpg ruby.jpg
在app/views/products/index.html.erb
中,显示图片的代码:
<%= image_tag(product.image_url, class: 'list_image') %>
而不是访问asset/cs.jpg
,它实际上会生成obfusticated图像路径(请参见屏幕截图):/assets/cs-436e7e2d621d24ea1d19769362306ecdec83fcd62d5d45f135adca63e6a0f9c5.jpg
。
为什么?
jpg包含错误:
编辑:
我的rails版本是4.2。但该书的软件仓库应用程序基于Rails 4.0。因此我将Rails降级为4.0并再次重新执行步骤(重新生成脚手架,db播种等),然后正确显示jpg照片。这似乎是一个版本的东西。但我仍然不知道为什么jpg不会在Rails 4.2中加载。
答案 0 :(得分:0)
obfusticated图片路径/assets/cs-436e7e2d621d24ea1d19769362306ecdec83fcd62d5d45f135adca63e6a0f9c5.jpg.
可能来自public/assets
目录,而不是app/assets directory
。可能的原因是您预先编译了资产。