【发布时间】:2016-02-19 18:12:48
【问题描述】:
我正在将 Carrierwave 图像上传到 app/assets/images 目录。为了显示它们,我这样做...
<%= image_tag "/assets/#{File.basename(@user.image_url(:thumb).to_s)}" %>
生成的 HTML 为 <img src="/assets/thumb_1_1_leonel.jpg">
它在开发中完美运行,而不是在生产中。图片实际上是上传的。
上传图片的权限为-rw-r--r--。
我已经尝试将 config.serve_static_assets 设置为 true (http://stackoverflow.com/questions/10612914/carrierwave-doesnt-render-path-exists-but-image-doesnt-show-up),然后重新启动 Unicorn 并ngnix,但我没有看到任何变化。
为什么不显示?
【问题讨论】:
-
您是否将它们存储在每个环境的不同文件夹/文件名中?在carrierwave中检查你的store_dir方法
-
不,这就是我的 store_dir 方法中的全部内容
Rails.root + "app/assets/images" -
我只是给了 777 权限给不显示的 jpg,它没有解决任何问题。
-
您只需要使用carrierwave ,它将正确的路径存储在您的数据库中
-
如果您不想公开图像,那么您将不得不做更多的工作,请查看此问题stackoverflow.com/questions/8089933/…
标签: ruby-on-rails ruby carrierwave