我正在尝试在我的应用程序中设置和运行设计,但我已经碰壁了。
我在尝试时看到此错误消息
路由错误
没有路由匹配 {:controller=>"devise/clubs"}
现在我浏览器中的 URL 是
http://localhost:3000/users/sign_up
但我得到了以上内容,所以我不知道"devise/clubs"
来自哪里。
现在我的路线文件看起来像这样
Mess::Application.routes.draw do
devise_for :users
resources :news , :clubs
root :to => "clubs#index"
end
当我运行 rake 路线时,我看到
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
news_index GET /news(.:format) news#index
POST /news(.:format) news#create
new_news GET /news/new(.:format) news#new
edit_news GET /news/:id/edit(.:format) news#edit
news GET /news/:id(.:format) news#show
PUT /news/:id(.:format) news#update
DELETE /news/:id(.:format) news#destroy
clubs GET /clubs(.:format) clubs#index
POST /clubs(.:format) clubs#create
new_club GET /clubs/new(.:format) clubs#new
edit_club GET /clubs/:id/edit(.:format) clubs#edit
club GET /clubs/:id(.:format) clubs#show
PUT /clubs/:id(.:format) clubs#update
DELETE /clubs/:id(.:format) clubs#destroy
root / clubs#index
在创建链接的表格中我有
<%= link_to 'Sign up as User', new_user_registration_path %>
路线告诉我
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
从 rake 路由转储中看起来还不错。
我在我的 routes.rb 中尝试了不同的变体,但我无法让它工作。我正在使用 rails 3.2.2 和 ruby 1.8.7。升级 ruby 版本不是一种选择。(主机提供商使用这两个版本)
我检查了设计文档,也许我需要降低一个版本?这是我的第一个 Rails 应用程序,所以我边做边学。
在我的 gem 文件中,我有:
gem "devise"
所以是最新的2.1.2版本!!
非常感谢任何帮助,提示。
来自控制台的日志看起来像这样
2012 年 9 月 2 日星期日 12:54:01 +0200 2012 年 12 月 2 日 12:54:01 +0200 开始 GET "/users/sign_up" for 127.0.0.1
由 Devise::RegistrationsController#new 处理为 HTML
呈现的设计/共享/_links.erb (0.7ms)
呈现的设计/注册/new.html.erb in layouts/application (4.0ms)
渲染的应用程序/_default_navigation.html.erb (1.4ms)
在 35ms 内完成 500 内部服务器错误ActionController::RoutingError (没有路由匹配 {:controller=>"devise/clubs"}): app/views/application/_default_navigation.html.erb:2:in
_app_views_application__default_navigation_html_erb___767051374_2180756000' app/views/layouts/application.html.erb:32:in
_app_views_layouts_application_html_erb___31524913_2182039900'
在救援/布局中渲染 /Library/Ruby/Gems/1.8/gems/actionpack-3.2.2/lib/action_dispatch/middleware/templates/rescues/routing_error.erb (0.4ms)