【问题标题】:How to use rails plus paperclip and fog in localhost如何在 localhost 中使用 rails 和回形针和雾
【发布时间】:2012-09-02 16:06:36
【问题描述】:

我正在尝试设置我的开发环境以在本地主机中存储和获取图像。 我已设法将图像保存在正确的路径上,但我找不到加载页面并从资产管道中检索它们的方法。

我的模型上有这个:

has_attached_file :cover, :styles => {:small => '80x80'},
                                    :storage => :fog,
                                    :fog_credentials => {:provider => "Local",
                                                         :local_root => "#{Rails.root}/public"},
                                    :fog_directory => 'system/migos',
                                    :fog_host => "http://localhost:3000/assets",
                                    :default_url => '/assets/missing/:attachment/missing_:class_:style.png',
                                    :path => ':rails_env/:class/:attachment/:id_partition/:style/:filename'

并且文件被正确保存到: public/system/migos/development/workgroups/covers/000/000/011/small/logo.png

加载页面时,它会尝试从此处获取文件: /assets/localhost/development/workgroups/covers/000/000/011/small/logo.png?1346598225 失败了。

我在这里错过了什么?

【问题讨论】:

  • 你能告诉我你用来检索图像的代码吗?

标签: ruby-on-rails paperclip fog


【解决方案1】:
 has_attached_file :photo,
   :url  => "/assets/vehicles/:id/:style/:basename.:extension",
   :path => ":rails_root/public/assets/vehicles/:id/:style/:basename.:extension"

试试上面的代码,检查 URL 和 PATH,它会返回下一个图片地址:

http://localhost:3000/assets/vehicles/1/original/72854906.jpg?1346092386

文件夹结构为 assets/vehicles/1/original。

【讨论】:

  • 好吧,类似的事情可以做到,但我尝试(也许是错误地)也将 Fog 用于 localhost。在这里github.com/thoughtbot/paperclip#defaults 似乎有一个示例,但是当页面尝试加载图像时它也会失败。
  • 是的,我也认为明确使用 localhost:3000 作为雾主机并不好,对于开发环境,它可能会起作用,但不一定在 TQA 或生产环境中,例如在我的情况下,我做了部署到端口 80 下的 Tomcat 服务器。我认为您可以将其 (localhost:3000) 替换为 simbol :rails_root。
  • Fog Local 现在可以与 Paperclip 一起使用,fog_host 可以为空 (''),它将进行相对查找。但是,在构建 URL 时似乎忽略了设置雾目录。如果我找到解决方案,我会发布答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
相关资源
最近更新 更多