проблема с разработкой маршрутов (рельсы 3.1) - PullRequest
2 голосов
/ 10 сентября 2011

Я получаю

ActionController::RoutingError (No route matches [POST] "/users/sign_up"):

, когда я нажимаю на это

= button_to "New account", new_registration_path(resource_name), :class => 'newaccount'

Я настроил все контроллеры (буду добавлять recaptchas и другие вещи) и поместил их все впользователей /.Кажется, все работает нормально, за исключением ошибки, упомянутой выше.Кстати, когда я нажимаю на кнопку, 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.

Спасибо!

1 Ответ

2 голосов
/ 13 сентября 2011

Я [POST] использовал (используя button_to "Новая учетная запись",: регистрация), но мой маршрут определил только get"регистрация".Я просто изменил button_to на link_to, и проблема решена.Спасибо!

...