2017-09-13 6 views
0

最近、私は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] 

答えて

0

コードの変更は、問題を修正しているようだ:

config.fog_provider = 'fog/aws' 

は、代わりに次のようになります。ファイルの設定/初期化子/ carrierwave.rb

config.fog_directory = 'fog/aws' 

関連する問題