【问题标题】:Rails 3. Carrierwave uploaded images aren't displayed in productionRails 3. Carrierwave 上传的图片在生产中不显示
【发布时间】:2016-02-19 18:12:48
【问题描述】:

我正在将 Carrierwave 图像上传到 app/assets/images 目录。为了显示它们,我这样做...

 <%= image_tag "/assets/#{File.basename(@user.image_url(:thumb).to_s)}" %>

生成的 HTML 为 &lt;img src="/assets/thumb_1_1_leonel.jpg"&gt; 它在开发中完美运行,而不是在生产中。图片实际上是上传的。

上传图片的权限为-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


【解决方案1】:

在production.rb中添加这个

config.serve_static_assets = true

【讨论】:

  • 来自问题:“我已经尝试将 config.serve_static_assets 设置为 true”
  • config.serve_static_assets = true 已弃用,但感谢您的提示。我使用 config.serve_static_files = true 来解决问题。
猜你喜欢
  • 2014-02-12
  • 2013-01-31
  • 1970-01-01
  • 2016-08-24
  • 2015-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多