我需要在亚马逊S3上配置我的图像,但是当我试图在2-2-稳定的Spree的版本下这样做时,我意识到这个配置已经从管理面板移开了。
我在某个地方读到,这种配置造成了一些问题,因此它在2-2中被删除了。但是我假设这个功能仍然在工作。
当我尝试将这些信息添加到我的config/initialize/spree.rb,中时,我会收到一个错误,因为这些首选项不再存在。
preference :s3_access_key, :string
preference :s3_bucket, :string
preference :s3_secret, :string这些偏好是在2-1稳定的,而不是在2-2稳定的。
configuration.rb configuration.rb
有没有办法让它工作,以便与Heroku一起使用它?
发布于 2014-02-20 20:53:36
这里是狂欢节与更改的提交,以及关于如何进行配置更改的一些指导。https://github.com/spree/spree/commit/b1d6c5e4b9801d888cc76c05116b814945122207
我的理解是,您仍然可以使用回形针管理上传到S3,我已经成功地使用他们的指示。然而,我在获得S3上的保存路径以正确配置时遇到了问题。这可能让你开始..。在环境配置文件中,放置以下内容:
# Paperclip configs
config.paperclip_defaults = {
:storage => :s3,
:bucket => ENV['S3_BUCKET_NAME'],
:s3_credentials => {
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}我使用环境变量作为S3凭据,因此您的凭证很可能会有所不同。这段代码使上传文件到S3的工作,就像我说的那样,我只是不能强迫上传特定的文件路径。希望这能有所帮助。
编辑-其他信息:
我将以下内容添加到spree.rb初始化程序中,以定义自定义上载路径和自定义url路径。
# S3 upload path and url path configuration
Spree::Image.attachment_definitions[:attachment][:path] = 'products/:id/:style/:basename.:extension'
Spree::Image.attachment_definitions[:attachment][:url] = 'products/:id/:style/:basename.:extension'若要更改默认上载大小,可以重写狂乱图像装饰器模型。因此,在app/model下,添加一个spree目录并添加一个名为image_decorator.rb的文件。然后,您可以使用以下方法控制大小:
Spree::Image.class_eval do
attachment_definitions[:attachment][:styles] = {
:mini => '48x48>', # thumbs under image
:small => '350x700>', # images on category view
:product => '1024x768>', # full product image
:large => '600x600>' # light box image
}
end查看此页面以获得详细信息-> http://guides.spreecommerce.com/developer/logic.html
因此,总之,您可以通过更新环境初始化程序、任意初始化程序和重写Spree image_decorator模型来完成所有常规映像/S3配置。
https://stackoverflow.com/questions/21756596
复制相似问题