设计:没有路线匹配{:controller =>“devise / about”}

时间:2013-06-18 04:55:41

标签: ruby-on-rails-3 devise

最近我在我的应用程序中添加了gem'depaise'。然后,我按照devise github页面上的说明完成了基本的安装步骤。安装完设计后,我运行了命令:

rails generate devise:install

然后我运行了命令:

 rails generate devise User

这两个命令都成功了。

然后我确保我的配置中有一个已定义的 root_url ;就我而言,它是:

root :to => "sample#index"

执行此操作后,我运行了命令:

 rails g devise:views

根据命令行响应,这也很有效。

执行所有这些步骤后,我运行了rake路由,以确保新的设计路径和路径可用。然后我重新启动了我的应用服务器。

我遇到的问题是当我尝试去 localhost:3000 / users / sign_up 时收到错误消息:没有路由匹配{:controller => “设计/大约”}

当我耙它时,我可以清楚地看到路线:

    new_user_registration GET    /users/sign_up(.:format)          devise/registrations#new

因为我可以看到路线,所以我不确定问题是什么和/或问题出在哪里。有没有人以前见过这个问题?

顺便说一句,我目前正在运行Ruby-2.0.0-p195和Rails 3.2.13

提前谢谢。

2 个答案:

答案 0 :(得分:3)

你让我走上了正确的道路。我检查了日志,发现我在 Application.html.erb 布局文件中使用的链接设置为:

 <%= link_to( :controller => 'about' ... etc. ) %> 

要解决此问题,我将路径更改为:

 <%= link_to(  :controller => '/about' ... etc. ) %> 

通过添加正斜杠,Rails能够正确找到我的控制器的位置,这个错误就消失了。

感谢。

答案 1 :(得分:1)

检查您的日志文件(log/development.log)以获取有关错误的更多信息 - 您最有可能使用无效路由编写该页面上的链接。

请注意,错误大约是devise/about,而不是您正在访问的users/sign_up