我在模型中的回形针路径是:
has_attached_file :image, :path => ":rails_root/app/assets/images/article_images/:id/:style_:basename.:extension"
但是当我打电话给article.image.url
时,这是我得到的网址(已损坏):
/system/images/64294/original/fantastik.jpg?1324288670
答案 0 :(得分:6)
您还需要设置URL,您想要的是:
has_attached_file :image,
:path => ":rails_root/app/assets/images/article_images/:id/:style_:basename.:extension"
:url => "/app/assets/images/article_images/:id/:style_:basename.:extension"
我唯一要问的是,如果你将它们存放在一个好地方。通常情况下,他们会进入
/public/...
或者像s3这样的其他服务。但是,这就是修改URL的方式
希望这有帮助!
答案 1 :(得分:0)
paperclip默认值:
:url => "/system/:attachment/:id/:style/:filename",
:path => ":rails_root/public:url",
您可以看到url可以是路径的一部分,因此您的配置应如下所示:
has_attached_file :image,
:url => "/app/assets/images/article_images/:id/:style_:basename.:extension",
:path => ":rails_root:url"
小心,usualy服务器(apache,nginx)仅从公共目录提供文件。
has_attached_file
的更多选项,您可以找到here
答案 2 :(得分:0)
这是解决问题的方法:default_url:
:default_url => ActionController::Base.helpers.asset_path('empty-event-cover.png')