回答
我正在運行rails 3.0.10和spree 0.60,並且能夠通過執行以下操作獲得使用s3存儲來寫入應用程序的公用文件夾的熱潮。該過程應該是相似的。
添加AWS-S3寶石安裝在你的Gemfile
gem 'aws-s3'
捆綁,做我創建config目錄下名爲s3.yml YAML文件,它應該是這個樣子了。
development: &DEFAULTS
bucket: "YOUR_BUCKET"
access_key_id: "YOUR_ACCESS_KEY"
secret_access_key: "YOUR_ACCESS_SECRET"
test:
<<: *DEFAULTS
bucket: "YOUR_BUCKET"
production:
<<: *DEFAULTS
bucket: "YOUR_BUCKET"
您可以指定每個環境個別憑據,如果你喜歡,但因爲我的都使用相同的S3 accont我選擇設置默認值。
之後,您將不得不重寫圖像模型或爲您的裝飾器製作一個裝飾器,它可以讓回形針使用S3並讓它解析爲憑證創建的yaml文件。
你要要覆蓋會是這樣
has_attached_file :attachment,
:styles => {:mini => '48x48>', :small => '200x100>', :product => '240x240>', :large => '600x600>'},
:default_style => :small,
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:url => "/assets/products/:id/:style/:basename.:extension",
:path => ":rails_root/public/assets/products/:id/:style/:basename.:extension"
根據需要,但什麼重要的是你指定你可以改變這些屬性的區域:存儲設備:s3_credentials。
如果碰巧將Spree碰到更新的版本,例如1.0.x,我建議您將gem從'aws-s3'更改爲'aws-sdk',因爲前者不推薦使用。另一個快速方法是使用spree-heroku擴展https://github.com/joneslee85/spree-heroku。 如果您使用Spree 1.1.x,則無需安裝任何擴展模塊或覆蓋模型,您可以在管理設置中對其進行配置。希望這個幫助。 –
在當前版本的Spree中,您可以在管理工具中設置這些值。但是,如果您希望將其保留在代碼中,但不覆蓋圖像模型,則可以在config/initializers/spree.rb中設置這些值。請確保不要通過管理員門戶進行編輯。
S3_CONFIG = YAML.load_file("#{Rails.root}/config/s3.yml")[Rails.env]
Spree.config do |config|
config.attachment_styles = ActiveSupport::JSON.encode({
"mini" => "100x100>",
"small" => "200x200>",
"medium" => "400x600>",
"product" => "400x600>",
"large" => "600x600>",
"xl" => "800x800>",
"xxl" => "1200x1200>",
})
#AWS S3
config.use_s3 = true
config.s3_bucket = S3_CONFIG['bucket']
config.s3_access_key = S3_CONFIG['access_key_id']
config.s3_secret = S3_CONFIG['secret_access_key']
config.attachment_url = 'products/:id/:style/:basename.:extension'
config.attachment_path = 'products/:id/:style/:basename.:extension'
end
您還可以嘗試BitNami Spree AMI http://bitnami.org/stack/spree。問候。
- 1. 我們如何在亞馬遜ec2上安裝亞馬遜s3
- 2. 亞馬遜S3和android
- 3. 亞馬遜EC2和S3
- 4. Rails和亞馬遜S3
- 5. S3亞馬遜域
- 6. FileNotFoundException亞馬遜S3
- 7. 亞馬遜安裝pdf2text elasticbeanstalk
- 8. Jenkins亞馬遜Linux安裝
- 9. 亞馬遜S3和亞馬遜紅移的區別
- 10. 亞馬遜S3安全刪除對象
- 11. 亞馬遜S3隱私與安全
- 12. 離線亞馬遜S3
- 13. Android的亞馬遜S3 TransferUtility
- 14. 從亞馬遜S3刪除
- 15. 亞馬遜S3蝦PDF
- 16. 亞馬遜S3 S3fox問題
- 17. Carrierwave - 配置亞馬遜S3
- 18. 如何從亞馬遜S3
- 19. 亞馬遜S3加密
- 20. 亞馬遜S3 cli工具?
- 21. SourceFile亞馬遜AWS S3
- 22. 亞馬遜S3或EBS
- 23. 亞馬遜s3桶ListObject
- 24. ColdFusion ImageWrite到亞馬遜S3
- 25. 亞馬遜S3上的file_exists
- 26. 上傳到亞馬遜S3
- 27. 亞馬遜s3或雲端
- 28. 亞馬遜s3視頻流
- 29. EC2到S3 - 亞馬遜
- 30. 亞馬遜S3圖像
到目前爲止您嘗試過什麼?你遇到什麼錯誤?說它不起作用並不真正的幫助。 – leonardoborges
我已經嘗試了以下gem https://github.com/dylanmei/spree-s3.git,或者也https://github.com/thoughtful/spree-s3.git在兩個我得到實體不存在,當我運行rake spree_s3:install – elkalto23