我目前正在尝试设计我的网站上的登录名和密码。我目前正在本地运行它。当我尝试注册我的网站时,这是错误消息,我得到“没有路由匹配[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
答案 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”,因此它有所不同。
您的请求是发布请求,但应该获取请求。
您可以将方法类型从“发布”更改为“获取”。您需要在表单上进行此更改 在哪里指定方法类型。