を更新しながら、Herokuのアプリを破る:レール:AWS S3を追加しようとcarrierwave
それは本当に奇妙です。私は新しいアプリケーションをすばやく作成して実際にファイルをアップロードしましたが、ストレージを変更するのを忘れていました。私はストレージに変更を加えたとき:霧、この新しいアプリはgithub.com/MikeOnRails/s3を壊しました。
元の質問
私は破壊とAmazon S3は搬送波で動作するように取得する方法を把握しようと、新たなHerokuのアプリを作り続けます。
私は、キャリアウェーブgitハブページでいくつかの指示を見つけましたが、多分私は何かしています。キャリア。私は
(すなわちサイトが破損していない)の問題もなく私の環境変数を追加した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']',
/image_up周りの単一引用符を入れてみましたloader.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のハブにそれを見たので、私は自分のコードにハイフンを入れて。私はバケツを作成するとき、それは「米国標準」と言い、アマゾンコンソールで、注意してください。)
一部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=
以下のように何の問題も続かない、Uが「偽」= config.fog_publicを与えるべきだと思うが、それは大丈夫だ場合、私はまだそのほかの情報と同様に、あなたが他の宝石についての私を与えたと思いますあなたが作った他のプロジェクト – Leahcim
https://github.com/dwilkie/carrierwave_directとhttps://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload(これはCarrierWaveと統合されていません。それはS3へのダイレクトアップローダーです) – iwasrobbed
このソースコードはどこにでも(つまりgithub)ホストされていますか? – iwasrobbed