1

我正在尝试在我的应用程序中设置和运行设计,但我已经碰壁了。

我在尝试时看到此错误消息

路由错误
没有路由匹配 {: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)

4

0 回答 0