回答
我正在运行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. Rails和亚马逊S3
- 2. 亚马逊EC2和S3
- 3. 亚马逊S3和android
- 4. Jenkins亚马逊Linux安装
- 5. 亚马逊安装pdf2text elasticbeanstalk
- 6. 亚马逊S3和亚马逊红移的区别
- 7. 亚马逊S3隐私与安全
- 8. 从亚马逊S3删除
- 9. 亚马逊s3桶ListObject
- 10. android亚马逊s3上传
- 11. zcat上亚马逊s3
- 12. 离线亚马逊S3
- 13. 亚马逊S3(AWS)NSMutableData
- 14. 亚马逊S3虾PDF
- 15. 亚马逊S3到期日?
- 16. ColdFusion ImageWrite到亚马逊S3
- 17. 亚马逊S3备份
- 18. EC2到S3 - 亚马逊
- 19. S3亚马逊下载器
- 20. 亚马逊s3或云端
- 21. SourceFile亚马逊AWS S3
- 22. lighttpd在亚马逊s3
- 23. mod_pagespeed与亚马逊S3
- 24. Android的亚马逊S3 TransferUtility
- 25. 亚马逊S3集成
- 26. 亚马逊S3 cli工具?
- 27. 亚马逊S3 Cognito Sync
- 28. 如何从亚马逊S3
- 29. 亚马逊S3链接
- 30. Carrierwave - 配置亚马逊S3
到目前为止您尝试过什么?你遇到什么错误?说它不起作用并不真正的帮助。 – leonardoborges
我已经尝试了以下gem https://github.com/dylanmei/spree-s3.git,或者也https://github.com/thoughtful/spree-s3.git在两个我得到实体不存在,当我运行rake spree_s3:install – elkalto23