2017-01-31 8 views
0

私は、に沿って、次のよ」。私は第3章で、テストコマンドを使う最初の試みについて書いています。「バンドルのexecすくいテスト」「NoMethodError:未定義のメソッド `web_console」はActiveRecord :: Baseの場合:クラスマイケル・ハートルによって『ルビーon Railsのチュートリアル第3版』を

2つの非常に基本的なページがあります - ホームヘルプ - それらのテキストだけでは。 -----------

---------- sample_app /テスト/コントローラ/静的-pages.rbを:私は、次のテストは、ページが存在することを確認することになっていると思います----------

require 'test_helper' 
class StaticPagesControllerTest < ActionController::TestCase 
    test "should get home" do 
    get :home 
    assert_response :success 
end 

test "should get help" do 
    get :help 
    assert_response :success 
end 
end 

私は、ターミナルウィンドウで

$ bundle exec test rake 

コマンドを実行したときしかし、私は

で始まる長いエラーを受け取ります
rake aborted! 
NoMethodError: undefined method `web_console' for ActiveRecord::Base:Class 

私は宝石のファイルのための特定の1つの周りを公転しているように見える提案の多様読んだのWebコンソールを」。私は宝石の周りを役に立たないように動かしてみましたが、もう一度それを試してみるつもりです。ここでは、現在の宝石のファイルがある:

---- sample_app/Gemfile(コメントは削除)--------------

source 'https://rubygems.org' 


gem 'rails', '4.2.2' 

gem 'sqlite3' 

gem 'sass-rails', '~> 5.0' 

gem 'uglifier', '>= 1.3.0' 

gem 'coffee-rails', '~> 4.1.0' 

gem 'jquery-rails' 

gem 'turbolinks' 

gem 'jbuilder', '~> 2.0' 

gem 'sdoc', '~> 0.4.0', group: :doc 


gem 'web-console', group: :development 

group :development do 

    gem 'sqlite3' 

    gem 'byebug' 

    gem 'spring' 

    gem 'guard' 

    gem 'guard-minitest' 
end 


group :test do 

    gem 'minitest-reporters' 

    gem 'mini_backtrace' 



end 

あなたの助けをいただき、ありがとうございます。

Running via Spring preloader in process 6353 
rake aborted! 
NoMethodError: undefined method `web_console' for ActiveRecord::Base:Class 
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.2/lib/active_record/dynamic_matchers.rb:26:in `method_missing' 
/home/ubuntu/workspace/sample_app/test/controllers/static_pages_controller_test.rb:16:in `<class:StaticPagesControllerTest>' 
/home/ubuntu/workspace/sample_app/test/controllers/static_pages_controller_test.rb:5:in `<top (required)>' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/sub_test_task.rb:114:in `require' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/sub_test_task.rb:114:in `block (3 levels) in define' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/sub_test_task.rb:114:in `each' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/sub_test_task.rb:114:in `block (2 levels) in define' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/sub_test_task.rb:113:in `each' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/sub_test_task.rb:113:in `block in define' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/sub_test_task.rb:20:in `invoke_rake_task' 
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.2/lib/rails/test_unit/testing.rake:8:in `block in <top (required)>' 
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>' 
/usr/local/rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval' 
/usr/local/rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>' 
Tasks: TOP => test:run 
(See full trace by running task with --trace) 
+0

'バンドルのexecテストrake' - それは代わりに'バンドルのexecすくいtest'すべきですか? –

+0

わからない場合は、このチュートリアルの古いバージョンを使用しています。 –

+1

@ Taryn East、ありがとうございます。はい、それは私の質問のタイプミスですが、私は正しく端末に入力しました。 – Siggytron

答えて

0

私は答えを見つけたことがあります。:Cloud9をログオフもし興味があるなら

は、ここで全体のエラーコードです。コンピュータの電源を切る。コンピューターを再起動。 Cloud9に再度ログインします。 「bundle exec rake test」と入力します。それは修正されました。マジック!より深刻なノートで

、私はチュートリアルの古いバージョンを使用していますが、チュートリアルでは、(私は信じている)このエディションに合うようにする方法で環境を設定するには、学生に指示し実現します。それにもかかわらず、私は、Ruby(2.3.0)のバージョンが "バグ"で、2.3.1にアップグレードするという点で、Cloud9の警告を見ました。 Ruby 2.3.0のバグがクラウド9のバグだったのかどうかはわかりませんが、古いバージョンのチュートリアルを使用している人は誰でも気づくはずです。

関連する問題