简体   繁体   中英

Running rake routes on Rails 5 giving instantiation error

I'm trying to setup a barebones Rails app. So far I have generated a sample Article model, added some records to the database, edited my routes config to the following:

Rails::Application.routes.draw do
  resources :articles
end

But when I run bin/rake routes , bundle exec rake routes , and just rake routes I receive the following error:

$ bin/rake routes                                                                                                                               (articles-controller✱)
rake aborted!
Rails::Application is abstract, you cannot instantiate it directly.
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/railtie.rb:206:in `initialize'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/engine.rb:434:in `initialize'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application.rb:124:in `initialize'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/railtie.rb:162:in `new'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/railtie.rb:162:in `instance'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application.rb:95:in `instance'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/railtie.rb:184:in `method_missing'
/Users/sam/turing/2module/personal_work/projects/blogger/config/routes.rb:1:in `<top (required)>'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:286:in `load'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:286:in `block in load'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:258:in `load_dependency'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:286:in `load'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/routes_reloader.rb:55:in `block in load_paths'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/routes_reloader.rb:55:in `each'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/routes_reloader.rb:55:in `load_paths'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/routes_reloader.rb:18:in `reload!'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/routes_reloader.rb:41:in `block in updater'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/activesupport-5.1.1/lib/active_support/file_update_checker.rb:81:in `call'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/activesupport-5.1.1/lib/active_support/file_update_checker.rb:81:in `execute'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/routes_reloader.rb:42:in `updater'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/routes_reloader.rb:31:in `execute_if_updated'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application/finisher.rb:128:in `block in <module:Finisher>'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/initializable.rb:30:in `instance_exec'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/initializable.rb:30:in `run'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/initializable.rb:59:in `block in run_initializers'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/initializable.rb:58:in `run_initializers'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application.rb:353:in `initialize!'
/Users/sam/turing/2module/personal_work/projects/blogger/config/environment.rb:5:in `<top (required)>'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application.rb:329:in `require'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application.rb:329:in `require_environment!'
/Users/sam/.rvm/gems/ruby-2.2.6/gems/railties-5.1.1/lib/rails/application.rb:445:in `block in run_tasks_blocks'
Tasks: TOP => routes => environment
(See full trace by running task with --trace)

Any ideas? All of my gems are up to date using bundle update

糟糕,在Rails 5中,routes.rb文件的语法似乎有些不同。对于其他遇到此问题的人,do块的语法是Rails.application.routes.draw do ,而不是Rails::Application.routes.draw do

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM