私は AWS で CarrierWave を問題なくずっと使用してきましたが、私の最新のプロジェクトではまったく機能しません。ファイルは問題なく AWS にアップロードされますが、ファイルの場所を DB テーブルに保存する代わりに、モデル全体のコピーを保存します。ページが読み込まれると、レールがテーブルに保存されているデータをどう処理するかを判断できないため、エラーが発生
します 以下を確認してください.. Railsコンソールから直接、profile_picture
CarrierWaveにマウントされたフィールドを使用しています.
生成された URL ではなく、オブジェクト全体が保存されているようです。誰もこれについて何か考えがありますか?
dog = Dog.first
=> #<Dog id: 2, user_id: nil, name: "Lentil", profile_picture: "971935_556519314400437_65392555_n.jpg", breed_id: 2,
color: "fawn with black mask", age: 1, gender: "m", created_at: "2013-08-03 17:57:00", updated_at: "2013-08-03 18:12:33">
dog.profile_picture
=> #<ImageUploader:0x007f83388b70f0 @model=#<Dog id: 2, user_id: nil, name: "Lentil", profile_picture: "971935_556519314400437_65392555_n.jpg", breed_id: 2, color: "fawn with black mask", age: 1, gender: "m", created_at: "2013-08-03 17:57:00", updated_at: "2013-08-03 18:12:33">, @mounted_as=:profile_picture, @storage=#
<CarrierWave::Storage::Fog:0x007f83388b6b50 @uploader=#<ImageUploader:0x007f83388b70f0 ...>, @connection=#<Fog::Storage::AWS::Real:0x007f8336d5e3d0 @aws_access_key_id="xxx", @aws_secret_access_key="xxx", @hmac=#<Fog::HMAC:0x007f8336d5e100 @key="xxx", @digest=#<OpenSSL::Digest::Digest: xxx>, @signer=#<Proc:0x007f8336d5ddb8@/app/vendor/bundle/ruby/2.0.0/gems/fog-0.9.0/lib/fog/core/hmac.rb:22
(lambda)>>, @endpoint=nil, @host="s3.amazonaws.com", @path="/", @port=443, @scheme="https", @connection=#<Fog::Connection:0x007f8336d5db10 @excon=#<Excon::Connection:0x007f8336d5d8b8 @connection={:headers=>{}, :host=>"s3.amazonaws.com", :mock=>nil, :path=>"/", :port=>"443", :query=>nil, :scheme=>"https"}, @socket_key="s3.amazonaws.com:443">, @persistent=true>>>, @file=#<CarrierWave::Storage::Fog::File:0x007f83388b6510 @uploader=#<ImageUploader:0x007f83388b70f0
...>, @base=#<CarrierWave::Storage::Fog:0x007f83388b6b50 @uploader=#<ImageUploader:0x007f83388b70f0 ...>, @connection=#<Fog::Storage::AWS::Real:0x007f8336d5e3d0 @aws_access_key_id="xxx", @aws_secret_access_key="xxx", @hmac=#<Fog::HMAC:0x007f8336d5e100 @key="xxx", @digest=#<OpenSSL::Digest::Digest: xxx>, @signer=#<Proc:0x007f8336d5ddb8@/app/vendor/bundle/ruby/2.0.0/gems/fog-0.9.0/lib/fog/core/hmac.rb:22
(lambda)>>, @endpoint=nil, @host="s3.amazonaws.com", @path="/", @port=443, @scheme="https", @connection=#<Fog::Connection:0x007f8336d5db10 @excon=#<Excon::Connection:0x007f8336d5d8b8 @connection={:headers=>{}, :host=>"s3.amazonaws.com", :mock=>nil, :path=>"/", :port=>"443", :query=>nil, :scheme=>"https"}, @socket_key="s3.amazonaws.com:443">, @persistent=true>>>, @path="uploads/dog/profile_picture/2/971935_556519314400437_65392555_n.jpg">, @versions={}>