【发布时间】:2013-12-06 18:09:38
【问题描述】:
我面临以下问题:
我正在做一个 Rails 4 网络应用程序,我们正在使用回形针作为个人资料图像。如果用户不上传图片,我们会提供默认图片(如 facebook 剪影占位符)。因此,由于回形针可以轻松处理默认图像,我们在 Profile 模型中执行以下操作:
class Profile < ActiveRecord::Base
belongs_to :user
has_attached_file :image, :styles => { :medium => "300x300", :thumb => "100x100" }, :default_url => "assets/profiles/:style/placeholder.gif"
end
最大的问题是我需要图像的完整 URL 而不仅仅是路径,所以我很难在该路径之前获取主机和端口。使用操作视图助手没有帮助(asset_url helper)
我正在考虑为每个环境初始化一些常量或配置或环境变量。会正确吗?还有其他建议吗?
编辑:我忘了提到这一点:资源(配置文件)可能有自定义图片或默认图片。当它具有自定义图像时,我们将其存储在 Amazon S3 中,在这种情况下,profile.image.url 返回完整 URL。在另一种情况下,当它没有自定义图片时,它会存储一个默认图像in app/assets/images,在这种情况下profile.image.url 只返回路径。我希望 image.url 方法始终返回完整的 URL。 – flyer88 刚刚编辑
【问题讨论】:
-
为什么需要完整的url?回形针不希望您根据此示例提供完整的 URL -> github.com/thoughtbot/paperclip#quick-start
-
我也这样问自己。我们正在为 iphone 做一个 api,前端人员对我们说他们需要完整的 URL 而不仅仅是路径。 ¯/_(ツ)_/¯
-
稍微笼统一点:没有明确的“模型”要求:stackoverflow.com/questions/42566/…
标签: ruby-on-rails ruby model paperclip host