设计中的路由错误{:controller =>“devise / static”,:action =>“about”} [英] Routing error with devise {:controller=>"devise/static", :action=>"about"}

查看:144
本文介绍了设计中的路由错误{:controller =>“devise / static”,:action =>“about”}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个设计问题。每次尝试调用应由devise处理的Url(例如 http:// localhost:3000 / users / sign_up )我最后遇到以下错误:

 没有路由匹配{:controller =>devise / static ,:action =>about} 

希望有人可以帮助我!






routes.rb

  devise_for:users 

getpages / contact
getpages / imprint
getpages / about

root:to => ##关于

我做了什么:



gem'devise'添加到gemfile

 code> bundle install 
rails generate devise:install
rails generate devise User
rake db:migrate

rake路线

  new_user_session GET / users / sign_in (。:format){:action =>new,:controller =>devise / sessions} 
user_session POST /users/sign_in(.:format){:action =>create ,:controller =>devise / sessions}
destroy_user_session DELETE /users/sign_out(.:format){:action =>destroy,:controller =>devise / sessions}
user_password POST /users/password(.:format){:action =>create,:controller =>devise / passwords}
new_user_password GET /users/password/new(.:format ){:action =>new,:controller =>devise / passwords}
edit_user_password GET /users/password/edit(.:format){:action =>edit,:controller =>devise / passwords}
PUT /users/password(.:format){: action =>update,:controller =>devise / passwords}
cancel_user_registration GET /users/cancel(.:format){:action =>cancel,:controller =>设计/注册}
user_registration POST /users(.:format){:action =>创建,:controller =>devise / registrations}
new_user_registration GET / users / sign_up 。:format){:action =>new,:controller =>devise / registrations}
edit_user_registration GET /users/edit(.:format){:action =>edit :controller =>devise / registrations}
PUT /users(.:format){:action =>update,:controller =>devise / registrations}
DELETE / users(。:format){:action =>destroy,:controller =>设计/注册}
pages_contact GET /pages/contact(.:format){:controller =>pages,:action =>contact}
pages_imprint GET / pages / imprint 。:格式){:controller =>pages,:action =>imprint}
pages_about GET /pages/about(.:format){:controller =>pages,,action =>about}
root / {:controller =>pages,:action =>about}

Rails版本:
Rails 3.1.3






PagesController

  class PagesController< ApplicationController 
def contact
end

def imprint
end

def about
end

结束


解决方案

当我更改我的错误



在我的标题中我有:

 <%= link_toInfo,:controller => :info%> 

当我切换到:

 <%= link_toInfo,/ info%> 

错误已经消失!


I got a problem with devise. Every time I try to call an Url that should be handled by devise (e.g. http://localhost:3000/users/sign_up) I end up with the following error:

No route matches {:controller=>"devise/static", :action=>"about"}

Hopefully somebody can help me!


routes.rb

devise_for :users

get "pages/contact"
get "pages/imprint"
get "pages/about"

root :to => "pages#about"

What I did:

Added gem 'devise' to the gemfile

bundle install 
rails generate devise:install
rails generate devise User
rake db:migrate

rake routes

        new_user_session GET    /users/sign_in(.:format)       {:action=>"new", :controller=>"devise/sessions"}
            user_session POST   /users/sign_in(.:format)       {:action=>"create", :controller=>"devise/sessions"}
    destroy_user_session DELETE /users/sign_out(.:format)      {:action=>"destroy", :controller=>"devise/sessions"}
           user_password POST   /users/password(.:format)      {:action=>"create", :controller=>"devise/passwords"}
       new_user_password GET    /users/password/new(.:format)  {:action=>"new", :controller=>"devise/passwords"}
      edit_user_password GET    /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
                         PUT    /users/password(.:format)      {:action=>"update", :controller=>"devise/passwords"}
cancel_user_registration GET    /users/cancel(.:format)        {:action=>"cancel", :controller=>"devise/registrations"}
       user_registration POST   /users(.:format)               {:action=>"create", :controller=>"devise/registrations"}
   new_user_registration GET    /users/sign_up(.:format)       {:action=>"new", :controller=>"devise/registrations"}
  edit_user_registration GET    /users/edit(.:format)          {:action=>"edit", :controller=>"devise/registrations"}
                         PUT    /users(.:format)               {:action=>"update", :controller=>"devise/registrations"}
                         DELETE /users(.:format)               {:action=>"destroy", :controller=>"devise/registrations"}
           pages_contact GET    /pages/contact(.:format)       {:controller=>"pages", :action=>"contact"}
           pages_imprint GET    /pages/imprint(.:format)       {:controller=>"pages", :action=>"imprint"}
             pages_about GET    /pages/about(.:format)         {:controller=>"pages", :action=>"about"}
                    root        /                              {:controller=>"pages", :action=>"about"}

Rails Version: Rails 3.1.3


PagesController

class PagesController < ApplicationController
  def contact
  end

  def imprint
  end

  def about
  end

end

解决方案

The error for me was fixed when I changed my link_to methods.

In my header I had:

<%= link_to "Info", :controller => :info %>

and when I switched it to:

<%= link_to "Info", "/info" %>

the error was gone!

这篇关于设计中的路由错误{:controller =&gt;“devise / static”,:action =&gt;“about”}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆