[英]How to use Amazon S3 on Spree-2-2-stable
我需要在Amazon S3上配置映像,但是當我嘗試在Spree的 2-2-stable版本下進行配置時,我意識到此配置已從管理面板移開。
我在某處讀到該配置正在產生一些問題,因此在2-2上將其刪除。 但我認為該功能仍會以某種方式起作用。
當我嘗試將這些配置添加到config / initialize / spree.rb時 ,出現錯誤,因為這些首選項已不存在。
preference :s3_access_key, :string
preference :s3_bucket, :string
preference :s3_secret, :string
這些首選項在2-1-stable上找到,但在2-2-stable上找不到
https://github.com/spree/spree/blob/2-1-stable/core/app/models/spree/app_configuration.rb https://github.com/spree/spree/blob/2-2-stable /core/app/models/spree/app_configuration.rb
有什么辦法可以使其與Heroku一起使用?
這是Spree所做的更改,以及有關如何進行配置更改的說明。 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'
要更改默認的上傳大小,您可以覆蓋Spree圖像裝飾器模型。 因此,在app / models下添加一個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初始化程序並覆蓋spree image_decorator模型來完成所有常規的image / S3配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.