cho một ứng dụng mới Tôi muốn sử dụng kẹp giấy để lưu tệp vào S3. Tôi đã cài đặt đá quý aws-s3 cho một ứng dụng khác. Điều đó dường như gây ra một số vấn đề, bởi vì Paperclip nên sử dụng right_aws nhưng đang cố gắng sử dụng đá quý aws-s3. Nhưng tôi không muốn loại bỏ đá quý aws-s3 khỏi hệ thống của mình. Có cách nào để giải quyết xung đột này không? Có lẽ bằng cách buộc kẹp giấy để sử dụng right_aws? Hoặc bằng cách thay đổi cấu hình?Rails Xung đột Paperclip giữa đá quý aws-s3 và đá quý right_aws. Giải quyết thế nào?
Thiết lập của tôi
# 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'
...
Cảm ơn!
Mô-đun của bạn yêu cầu Paperclip, dường như cố gắng sử dụng aws-s3. Làm thế nào tôi có thể giải quyết điều đó? – Cristian
Cristian, xin lỗi vì câu trả lời quá lâu. Kẹp giấy chỉ yêu cầu 'aws-s3' để phát triển chứ không phải cho thời gian chạy.Khi bạn sử dụng 'paperclip-aws' bạn chỉ cần đưa vào Gemfile của bạn, giống như nó được hiển thị trong tài liệu và sau đó đóng gói. Không cần thêm gì nữa. –
Cảm ơn bạn. Tôi đã giải quyết điều này bằng đá quý của bạn :) – Cristian