Ich folge mit" Ruby on Rails Tutorial 3rd Edition "von Michael Hartl. Ich bin in Kapitel 3, beim ersten Versuch, den Testbefehl zu verwenden."bundle exec rake test" "NoMethodError: undefinierte Methode` web_console 'für ActiveRecord :: Base: Class "
Es gibt zwei extrem einfache Seiten - Startseite und Hilfe - mit nur Text auf ihnen. Ich denke, die folgenden Tests sollen prüfen, ob die Seiten vorhanden sind:
---------- Sample_app/test/controllers/static-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
Allerdings, wenn ich den Befehl
$ bundle exec test rake
im Terminalfenster ausführen, erhalte ich einen langen Fehler, der mit
beginntrake aborted!
NoMethodError: undefined method `web_console' for ActiveRecord::Base:Class
Ich habe eine Vielzahl von Vorschlägen gelesen, die sich um Edelstein-Dateien zu drehen scheinen, insbesondere die für "Web-Konsole". Ich habe versucht, den Edelstein ein bisschen umsonst zu bewegen, aber ich bin bereit, alles noch einmal zu versuchen. Hier ist die aktuelle Edelstein-Datei:
---- sample_app/Gemfile (Kommentare entfernt) --------------
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
Vielen Dank für Ihre Hilfe.
Hier ist der gesamte Fehlercode, wenn Sie interessiert sind:
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)
'bundle exec test rake' - sollte das stattdessen" bundle exec rake test "sein? –
Falls Sie nicht wissen, dass Sie eine ältere Version dieses Tutorials verwenden. –
@Taryn East, danke. Ja, das ist ein Tippfehler bei meiner Frage, aber ich habe es korrekt in das Terminal eingegeben. – Siggytron