最近我在我的应用程序中添加了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
提前谢谢。
答案 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
。