【问题标题】:Beginner RoR Error After Generating Views (RailsSpace)生成视图后的初学者 RoR 错误 (RailsS​​pace)
【发布时间】:2011-12-11 16:40:24
【问题描述】:

我正在使用 RailsS​​pace 学习 Ruby on Rails,但在执行看似简单的命令后遇到错误。

我使用终端生成了一个带有视图索引和注册的新用户控制器:

$ rails generate controller 用户索引寄存器

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

但是当我访问http://localhost:3000/user/register时,它会返回错误消息:

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

我的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,以防万一。

【问题讨论】:

  • 看起来在你的视图中某处(layouts/application.html.erb 或 user/register.html.erb)有一个链接到这条路线:{:action=>"about"},并且 rails 使用当前控制器(用户) 来创建路线。哪里有这样的链接?
  • 已经有一段时间了,就像我一直做的那样,我想知道这到底是怎么回事。如果不知道用户/注册的控制器代码中发生了什么,我真的不能说太多。它不会发生重定向到用户/关于,不是吗?此外,显然有一条站点/关于的路线。有没有可能这就是事情应该去的地方,但是教程中有一个错字将它发送给了 user/about?

标签: ruby-on-rails


【解决方案1】:

我会尝试在路线中手动编码。在您的情况下,它看起来像这样:

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

这肯定会起作用并阻止页面 /user/register 转到 about 页面。让我知道事情进展如何,我会努力继续引导您朝着正确的方向前进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 2015-12-26
    • 2017-09-20
    相关资源
    最近更新 更多