最近、私はHerokuでホストしている間にユーザーがファイルをアップロードできるように、私のRails AppをAmazon S3にリンクしました。私は消防ホースプロジェクトでチュートリアルの後:あなたが思うなら(私はコミット昔に戻すことができレール付きCarrierwaveのテスト
config.fog_provider = 'fog/aws'
:しようと最初の時に
http://blog.thefirehoseproject.com/posts/switching-carrierwave-to-use-s3-with-heroku-and-localhost/
を、私は次の行のための未定義のメソッドのエラーを得ましたその古いエラーの正確なテキストが参考になるでしょう)。
私のキャリアウェーブのバージョンを1.0.0.betaに設定するという唯一の解決策がありました。私は、このバージョンを使用することは理想的ではないことを確信していますが、それはこれまでに働く唯一のものです。開発と生産は現在機能していますが、テストは行いません。アップロードされたファイルを含むすべてのテストで、余分な引数エラーが発生するようになりました。
ActionView::Template::Error: wrong number of arguments (given 2, expected 0)
この問題は、ほとんどのバージョンの搬送波では発生しません。しかし、私は3つの環境のすべてで機能する宝石の組み合わせをまだ見つけていません。
ありがとうございました。エラースローコードラインの
#設定/イニシャライザ/ carrierwave.rb
CarrierWave.configure do |config|
config.fog_provider = 'fog/aws' # required
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: ENV["AWS_ACCESS_KEY"], # required
aws_secret_access_key: ENV["AWS_SECRET_KEY"], # required
}
config.fog_directory = ENV["AWS_BUCKET"] # required
end
例
<%= link_to image_tag(question.picture.image_url(:thumb).to_s), edit_question_path(question), :id => "schmedit_#{question.id}" %>
Gemfile
source 'https://rubygems.org'
gem 'rails', '5.0.0'
gem 'bcrypt', '3.1.11'
gem 'faker', '1.6.3'
gem 'will_paginate', '3.1.0'
gem 'bootstrap-will_paginate', '0.0.10'
gem 'bootstrap-sass', '3.3.6'
gem 'puma', '3.4.0'
gem 'sass-rails', '5.0.5'
gem 'uglifier', '3.0.0'
gem 'coffee-rails', '4.2.1'
gem 'jquery-rails', '4.1.1'
gem 'jquery-ui-rails'
gem 'turbolinks', '5.0.0'
gem 'jquery-turbolinks'
gem 'jbuilder', '2.4.1'
gem 'best_in_place', '~> 3.1'
gem 'responders', '~> 2.2'
gem 'carrierwave', '~> 1.0.0.beta'
gem 'mini_magick', '~> 4.3'
gem 'capybara'
gem 'figaro'
gem 'fog-aws', '0.12.0'
group :development, :test do
gem 'sqlite3', '1.3.11'
gem 'byebug', '9.0.0', platform: :mri
end
group :development do
gem 'web-console', '3.1.1'
gem 'listen', '3.0.8'
gem 'spring', '1.7.1'
gem 'spring-watcher-listen', '2.0.0'
end
group :test do
gem 'rails-controller-testing', '0.1.1'
gem 'minitest-reporters', '1.1.9'
gem 'guard', '2.13.0'
gem 'guard-minitest', '2.4.4'
end
group :production do
gem 'pg', '0.18.4'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]