gpt4 book ai didi

ruby-on-rails - S3 与 Heroku 上的 Spree Commerce 集成

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:17 24 4
gpt4 key购买 nike

我知道这是一个之前已经讨论过的主题,但我目前无法让它发挥作用。我在本地安装了 spree 商务引擎(版本 2.3.3),我已将其部署到 Heroku,以便在开始任何定制之前开始工作。

我在类似的线程中遵循了 Daniel Pritchett 的建议,并使用了他在 https://gist.github.com/dpritchett/c86f6b617d784f943096 中建议的配置,所以有一个 spree_images_paperclip.rb 文件看起来像这样:-

Spree.config do |config|
attachment_config = {
s3_credentials: {
access_key_id: ENV["AWS_ACCESS_KEY_ID"],
secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
bucket: ENV["AWS_DEV_BUCKET"],
},

s3_host_name: 's3-eu-west-1.amazonaws.com',
storage: :s3,
s3_headers: { "Cache-Control" => "max-age=31557600" },
s3_protocol: "https",
bucket: ENV["AWS_DEV_BUCKET"],

styles: {
mini: "48x48>",
small: "100x100>",
product: "240x240>",
large: "600x600>"
},

path: ":rails_root/public/spree/products/:id/:style/:basename.:extension",
default_url: "/spree/products/:id/:style/:basename.:extension",
default_style: "product",
}

attachment_config.each do |key, value|
Spree::Image.attachment_definitions[:attachment][key.to_sym] = value
end
end unless Rails.env.test?

所有配置变量都设置在单独的 YAML 文件中。这一切似乎在本地运行良好,但是当我部署到 Heroku 时,当我尝试通过 Spree 管理控制台上传图像时它崩溃了,不幸的是生成的 Heroku 日志非常无用,只是提供了一个 500 内部服务器错误。

有没有人能很好地解释为什么这不起作用,或者哪里有好的、最新的指南?自通过管理员删除 S3 支持后,Spree 仍未更新其指南。

提前致谢!

保罗

最佳答案

从 2.4 版本开始,Spree 已经移除了对 paperclipS3 配置的支持,所以你必须单独配置相关的 gem 和工具.在您在问题中提供的代码中,您仍在尝试将配置数据分配给 Spree 的 配置,而不是 Paperclip's .

在 config/application.rb 中:

config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['S3_BUCKET'],
:access_key_id => ENV['S3_ACCESS_KEY'],
:secret_access_key => ENV['S3_SECRET']
}
}

此外,您还必须确保在 Gemfile 中包含 aws-sdk gem 以启用 Paperclip 的 S3 支持 - Spree 不再为您包含它。

(如果您使用的是 Heroku,它们有 a guide specifically for configuring Paperclip )

关于ruby-on-rails - S3 与 Heroku 上的 Spree Commerce 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26239535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com