【问题标题】:Ruby On Rails throws error on home - railtiesRuby On Rails 在主页上抛出错误 - railties
【发布时间】:2015-08-26 18:00:20
【问题描述】:

当我尝试我的页面时,即 localhost:3000/home - 它显示此错误。

这是控制台中抛出的错误:

ActionController::RoutingError (No route matches [GET] "/home"):
  web-console (2.0.0.beta3) lib/action_dispatch/debug_exceptions.rb:22:in `middleware_call'
  web-console (2.0.0.beta3) lib/action_dispatch/debug_exceptions.rb:13:in `call'
  actionpack (4.2.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.2) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.2) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.2) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.2) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.2) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.2) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' 

我认为railties 存在一些问题。但我不确定它是什么?

我的 routes.rb 的内容:

Rails.application.routes.draw do
  get 'static_pages/home'
  get 'static_pages/help'
end

【问题讨论】:

  • 显示你的 routes.rb 文件

标签: ruby-on-rails railtie


【解决方案1】:

你应该像这样定义你的路线:

get 'home' => 'static_pages#home'

或:

root 'static_pages#home'

如果你想让它成为你的应用程序的根路径。

【讨论】:

  • 我使用的是默认生成的get。我不知道为什么它不起作用。顺便说一句,您的回答使它起作用了。
  • get 'home' => 'static_pages#home' 表示,当一个 url 与 home 匹配时,调用 static_pages 控制器的 home 动作。以前在您的路线中的方式:get 'static_pages/home' 它不会告诉它映射到哪个控制器的操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多