设计错误没有路由匹配[POST]“/ users / sign_up

时间:2014-07-02 13:11:10

标签: ruby-on-rails devise

我目前正在尝试设计我的网站上的登录名和密码。我目前正在本地运行它。当我尝试注册我的网站时,这是错误消息,我得到“没有路由匹配[POST]”/ users / sign_up“

        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
                         PATCH  /users/password(.:format)      devise/passwords#update
                         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
                         PATCH  /users(.:format)               devise/registrations#update
                         PUT    /users(.:format)               devise/registrations#update
                         DELETE /users(.:format)               devise/registrations#destroy
                    root GET    /                              pages#home
                   about GET    /about(.:format)               pages#about

这些是我的路线

Rails.application.routes.draw do
  devise_for :users
  root "pages#home"
  get "about" => "pages#about"
end

2 个答案:

答案 0 :(得分:1)

也许您在视图上使用button_to,默认情况下使用POST方法实现表单。

<%= button_to "New", action: "new" %>
# => "<form method="post" action="/controller/new" class="button_to">
#      <input value="New" type="submit" />
#    </form>"

请尝试link_to

答案 1 :(得分:0)

实际上在/ users / sign_up的路由中,方法类型为“Get”,我认为你使用的方法类型为“Post”,因此它有所不同。

您的请求是发布请求,但应该获取请求。

您可以将方法类型从“发布”更改为“获取”。您需要在表单上进行此更改 在哪里指定方法类型。