2011-09-10 22 views
2

私はこの工夫ルート(レール3.1)に問題

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

に私をクリックしたときに、私はすべてのコントローラ(recaptchasや他のものを追加していく予定)をカスタマイズした

ActionController::RoutingError (No route matches [POST] "https://stackoverflow.com/users/sign_up"): 

を取得していますし、それらすべてをユーザーに/。上記のエラーを除いて、すべて正常に動作しているようです。ところで、ボタンをクリックすると、ブラウザの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を考案しています。

ありがとうございます!

+0

何らかの理由で、GETの代わりにPOSTを実行しています。 GETを実行するので、ブラウザをリフレッシュするともちろん動作します。あなたは 'レーキルート'を行い、出力を貼り付けることができますか? – dexter

答えて

2

私は(button_to "新しいアカウント"を使用して:サインアップ)、私のルートはと定義されています "サインアップ"を取得しました。私はbutton_toをlink_toに変更して、問題を解決しました。 ありがとう!