Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 生成视图后的初学者RoR错误(RailsSpace)_Ruby On Rails - Fatal编程技术网

Ruby on rails 生成视图后的初学者RoR错误(RailsSpace)

Ruby on rails 生成视图后的初学者RoR错误(RailsSpace),ruby-on-rails,Ruby On Rails,我正在使用RailsSpace学习RubyonRails,在执行了一个看似简单的命令后遇到了一个错误 我使用终端生成了一个新的用户控制器,其中包含视图索引和寄存器: $rails生成控制器用户索引寄存器 它没有问题,创建了index.html.erb和register.html.erb文件以及所有其他预期文件 但当我访问时,它会返回错误消息: 路由错误:没有与{:controller=>“user”匹配的路由, :action=>“关于”} My routes.rb未显示任何异常: RailsS

我正在使用RailsSpace学习RubyonRails,在执行了一个看似简单的命令后遇到了一个错误

我使用终端生成了一个新的用户控制器,其中包含视图索引和寄存器:

$rails生成控制器用户索引寄存器

它没有问题,创建了index.html.erb和register.html.erb文件以及所有其他预期文件

但当我访问时,它会返回错误消息:

路由错误:没有与{:controller=>“user”匹配的路由, :action=>“关于”}

My routes.rb未显示任何异常:

RailsSpace::Application.routes.draw do
  get "user/index"

  get "user/register"

  get "site/index"

  get "site/about"

  get "site/help"

  root :to => "site#index"

end
为什么它要尝试路由到“关于”操作,以及我可以编辑哪些其他文件来更改此路由


我正在使用Rails 3,以防万一。

我会尝试在路线中手动编码。在您的情况下,它将如下所示:

match '/user/register' => 'users#register', :as => :register

这肯定会起作用,并防止页面/用户/注册表转到“关于”页面。让我知道事情的进展,我会努力继续引导你朝着正确的方向前进。

在你的视图中(layouts/application.html.erb或user/register.html.erb)有一个链接指向此路由:
{:action=>“about”}
,rails使用当前控制器(用户)创建路由。任何地方都有这样的联系吗?已经有一段时间了,就像我一直做的那样,我想知道这件事发生了什么。如果不知道user/register的控制器代码中发生了什么,我真的不能说太多。它不会碰巧重新定向到用户/关于,是吗?此外,显然还有一条站点/关于的路线。有没有可能这就是事情应该去的地方,但是教程中有一个拼写错误,将其发送给user/about?