【发布时间】:2011-09-10 02:55:01
【问题描述】:
我来了
ActionController::RoutingError (No route matches [POST] "/users/sign_up"):
当我点击这个
= button_to "New account", new_registration_path(resource_name), :class => 'newaccount'
我已经自定义了所有控制器(将添加验证码和其他内容),并将它们全部放在 users/.除了上面提到的错误之外,一切似乎都运行良好。顺便说一句,当我单击按钮时,浏览器 url 转到 /signup 并且我收到 404 错误,以及服务器中的 RoutingError。但是,如果我在同一个 url (/signup) 上的浏览器中点击刷新,注册页面显示没有问题,我可以继续注册!?
这是我的路线:
devise_for :users, :controllers => {
:omniauth_callbacks => "users/omniauth_callbacks",
:confirmations => "users/confirmations",
:passwords => "users/passwords",
:registrations => "users/registrations",
:sessions => "users/sessions"
}
devise_scope :user do
get "signin", :to => "users/sessions#new", :as => :signin
get "signout", :to => "users/sessions#destroy", :as => :signout
get "signup", :to => "users/registrations#new", :as => :signup
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
end
root :to => 'home#index'
match 'faq' => 'faq#index'
match 'acct' => 'user_controls#index', :as => 'user_root'
我做错了什么?任何帮助将不胜感激。我正在运行 Rails 3.1 并设计 1.4.5。
谢谢!
【问题讨论】:
-
出于某种原因,它正在执行 POST 而不是 GET。当您刷新浏览器时它当然会起作用,因为它会执行 GET。你可以
rake routes并粘贴输出吗?
标签: devise routes ruby-on-rails-3.1