【问题标题】:routes.rb not routing to correct controllerroutes.rb 没有路由到正确的控制器
【发布时间】:2014-01-27 16:53:32
【问题描述】:

我正在构建 ruby​​/rails 教程,并创建了 welcome#index 视图文件及其控制器。我还取消了routes.rbroot :to => "welcome#index" 部分的注释并删除了public/index.html 并重新启动了服务器。

但由于某种原因,我收到了The page you were looking for doesn't exist. 错误。有谁知道这是什么原因造成的?

这里是routes.rb

Quirk::Application.routes.draw do
  get "welcome/index"

root :to => "welcome#index"

end

welcome_controller.rb

class WelcomeController < ApplicationController
  def index
  end

end

index.html.erb

<h1>Hello, Rails!</h1>

【问题讨论】:

  • 您是否在应用程序/控制器中创建了 WelcomeController? "$> bundle exec rake routes | grep welcome" 返回什么?
  • 如果你有一个WelcomeController 它有一个index 方法吗???在app/views/welcome/index.* 中是否也有匹配的视图
  • @NicolasGarnil 我有welcome_controller.rb,它是从生成中自动创建的。这是您的查询返回的内容:welcome_index GET /welcome/index(.:format) {:controller=>"welcome", :action=>"index"}
  • @bjhaid - 我确实有 welcome_controller.rb - 它有 def 索引。这够好吗?那就是 generate 生成的。另外,是的,我有正确的视图文件。
  • 请发布您的 routes.rb 文件

标签: ruby-on-rails ruby


【解决方案1】:

删除get "welcome/index" 行或将root :to =&gt; "welcome#index" 放在文件顶部。

【讨论】:

  • 不幸的是,这仍然没有解决问题。同样的错误信息。
【解决方案2】:

你只需要

Quirk::Application.routes.draw do

root :to => "welcome#index"

end

刚做了教程,运行流畅http://guides.rubyonrails.org/getting_started.html

也许你应该在另一个文件夹中重新开始教程

【讨论】:

  • 我刚刚尝试这样做,但又遇到了完全相同的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-29
  • 2015-02-28
  • 1970-01-01
相关资源
最近更新 更多