新しいアプリケーション私はpaperclipを使用してS3にファイルを保存します。私は既に別のアプリのためにaws-s3の宝石をインストールしました。 Paperclipはright_awsを使うべきですが、aws-s3 gemを使用しようとしているので、いくつかの問題が発生しているようです。しかし私は私のシステムからaws-s3の宝石を取り除きたいとは思わない。この紛争を解決する方法はありますか?たぶんright_awsを使用するようにクリップを強制することによって?または設定を変更しますか?Rails aws-s3 gemとright_aws gemの間のペーパークリップの競合。の解き方?
マイセットアップ
# enviroment.rb
config.gem 'right_aws'
# my model with the attachment
has_attached_file :thumbnail,
:styles => { :thumb => "160x120>" },
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/amazons3.yml",
:path => ":provider/:attachment/:id_:style.:extension"
# config/amazons3.yml
development:
bucket: bucketname
access_key_id: secret
secret_access_key: secret
test:
bucket: bucketname
access_key_id: secret
secret_access_key: secret
production:
bucket: bucketname
access_key_id: secret
secret_access_key: secret
# The Error in the console
ArgumentError: wrong number of arguments (5 for 4)
from /Library/Ruby/Gems/1.8/gems/right_http_connection-1.2.4/lib/net_fix.rb:85:in `send_request_with_body_stream'
from /Library/Ruby/Gems/1.8/gems/right_http_connection-1.2.4/lib/net_fix.rb:85:in `exec'
from /Library/Ruby/Gems/1.8/gems/right_http_connection-1.2.4/lib/net_fix.rb:144:in `request'
from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/connection.rb:45:in `request'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:543:in `start'
from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/connection.rb:52:in `request'
from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:69:in `request'
from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:88:in `put'
from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/object.rb:241:in `store'
...
ありがとう!
あなたのモジュールにはaws-s3の使用を試みているようなPaperclipが必要です。それをどうすれば解決できますか? – Cristian
クリスチャン、とても長い間答えてくれてありがとう。 Paperclipは開発のためだけに 'aws-s3'を必要とし、実行時には必要としません。'paperclip-aws'を使うときは、ドキュメントに表示されていてバンドルされているように、あなたのGemfileにインクルードするだけです。それ以上のことは必要ありません。 –
ありがとうございます。私はすでにあなたの宝石を使ってこれを解決しました:) – Cristian