【发布时间】:2012-02-10 14:04:41
【问题描述】:
更新:
真的很奇怪。我快速制作了一个新应用程序并实际上传了一个文件,但后来我意识到我忘记将存储:文件更改为存储:雾。当我对存储进行更改时:雾,这个新应用程序破坏了 github.com/MikeOnRails/s3 这个更改怎么会破坏应用程序?
原始问题
我不断打破和制作新的 Heroku 应用程序,试图弄清楚如何让 Amazon s3 与载波一起工作。
我在载波 git hub 页面上找到了一些说明,但也许我正在做一些事情。载体。我添加了我的环境变量没有问题(即网站没有中断)
heroku 配置:添加 S3_KEY=NOTREAL8844848L S3_SECRET=NOTREAL345566
然后我在初始化程序目录中创建了一个名为 carrierwave_s3.rb 的文件并将此代码放入其中
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => ENV['S3_KEY'],
:aws_secret_access_key => ENV['S3_SECRET'],
:region => 'US-Standard'
}
config.fog_directory = 'm73test'
config.fog_host = 'https://m73test.s3.amazonaws.com'
config.fog_public = true
config.fog_attributes = {'Cache-Control' => 'max-age=315576000'}
end
我还尝试在 ENV 变量周围加上单引号
:aws_access_key_id => 'ENV['S3_KEY']',
:aws_secret_access_key => 'ENV['S3_SECRET']',
在 uploaders/image_uploader.rb 中
我变了
storage :file
到
storage :fog
注意,in uploaders/image_uploader.rb我根本没有改变这个,假设它需要一个文件路径来存储它
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
然后我推送了新代码,我收到了一个应用程序错误。任何人都可以帮忙吗?
(请注意,在亚马逊控制台中,当我创建存储桶时,它会显示“美国标准”。我将连字符放在我的代码中,因为我在载波 git hub 上看到了它。)
部分 Heroku 日志告诉我发生了崩溃
4T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/config.ru:1:in `new'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/server.rb:301:in `wrapped_app'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in `tap'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in `<top (required)>'
2012-01-14T23:32:03+00:00 app[web.1]: from script/rails:6:in `require'
2012-01-14T23:32:03+00:00 app[web.1]: from script/rails:6:in `<main>'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/server.rb:252:in `start'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:40:in `eval'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:54:in `block in <top (required)>'
2012-01-14T23:32:05+00:00 heroku[web.1]: State changed from starting to crashed
2012-01-14T23:32:05+00:00 heroku[web.1]: Process exited
2012-01-14T23:32:06+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2012-01-14T23:32:06+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes=
2012-01-14T23:32:11+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2012-01-14T23:32:11+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes=
【问题讨论】:
-
没问题,但如果没问题,我仍然希望您提供有关其他 gem 和您制作的其他项目的其他信息
-
这是一个:github.com/dwilkie/carrierwave_direct,另一个:github.com/iwasrobbed/Rails3-S3-Uploader-Plupload(这个没有与 CarrierWave 集成,它只是直接上传到 S3)
-
你有这个源代码托管在任何地方(即 github)吗?
-
这真的很奇怪。我快速制作了一个新应用程序并实际上传了一个文件,但后来我意识到我忘记将存储:文件更改为存储:雾。当我对存储进行更改时:雾,这个新应用程序坏了github.com/MikeOnRails/s3这个更改怎么会破坏应用程序?
标签: ruby-on-rails heroku carrierwave