Wails -s3 gem和right_aws gem之间的Rails Paperclip冲突.怎么解决?

Ole*_*ann 6 ruby-on-rails amazon-s3 paperclip right-aws

对于新的应用程序,我想使用paperclip将文件存储到S3.我已经为另一个应用程序安装了aws-s3 gem.这似乎会导致一些问题,因为Paperclip应该使用right_aws但是正在尝试使用aws-s3 gem.但我不想从我的系统中删除aws-s3 gem.有没有办法解决这个冲突?也许通过强制回形针使用right_aws?或者通过更改配置?

我的设置

# 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'
...
Run Code Online (Sandbox Code Playgroud)

谢谢!

Ole*_*ann 12

哇,那很快.我通过使用aws-s3 gem解决了这个问题,因此将我的enviroment.rb更改为:

#config.gem 'right_aws'
config.gem "aws-s3", :version => ">= 0.6.2", :lib => "aws/s3"
Run Code Online (Sandbox Code Playgroud)

希望能帮到别人!