Rails Carierwave deafult_url 没有 return 后备图像

Rails Carierwave deafult_url doesn't return fallback image

如果对象没有自己的,我需要渲染回退 img。 Carierwave 上传器看起来像:

 def default_url(*args)
   "/images/fallback/" + [version_name, "default.png"].compact.join('_') 
 end     

我正在渲染一个像这样的 img:<%= image_tag @teams.last.team_img %>

但页面只显示文字:"Default"

JS 控制台显示:http://localhost:3000/images/fallback/default.png 404(未找到)

但我在 app/assets/images 中创建了 dir fallback 并放在那里 dafault.png

Rails的资源将所有静态资源编译到路径/assets

因此,对于您的情况,default_url 指向错误的 URL。应该是:

 def default_url(*args)
   "/assets/fallback/" + [version_name, "default.png"].compact.join('_') 
 end