0

Railsにアップグレードし3.2.8て考案し2.1.2、ユーザーモデルを完全に消去して、新しい移行とセットアップを使用しました。私は古いビューを保持し、自分のアカウントを破棄/削除するためにユーザーリンクのテストを開始しました。これをFirefoxでテストしたところ、エラーなしで動作し、確認ボックスが表示され、確認された場合はアカウントが削除されました。Google Chromeでは、確認ボックスが表示されず、次のようになります。

Routing Error
No route matches [GET] "/users"

これは私のリンクです:

  Unhappy? <%= link_to "Delete my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %>.

他の誰かがこの狂気を持っていますか?このブラウザでは機能しないのはなぜですか?

4

2 に答える 2

1

君は見るべきだ:

edit_user_registration   GET    /users/edit(.:format)            devise/registrations#edit
                         PUT    /users(.:format)                 devise/registrations#update
                         DELETE /users(.:format)                 devise/registrations#destroy

プロジェクトディレクトリで「rakeroutes」を実行したとき。

に変更"user_registration_path"してみてください"edit_user_registration_path"

于 2012-08-31T03:48:50.297 に答える
0

ルートを正しく変更する必要がありました。

devise_for :users, :controllers => { :registrations => 'registrations' }
  devise_scope :user do
    get 'join' => 'devise/registrations#new', :as => :new_user_registration
    put 'join' => 'devise/registrations#create', :as => :user_registration
    get 'login' => 'devise/sessions#new', :as => :new_user_session
    post 'login' => 'devise/sessions#create', :as => :user_session
    delete 'logout' => 'devise/sessions#destroy', :as => :destroy_user_session
    get 'account_settings' => 'devise/registrations#edit', :as => :edit_user_registration
    put 'account_settings' => 'devise/registrations#update', :as => :update_user_registration
    get 'forgot_password' => 'devise/passwords#new', :as => :new_user_password
    get 'user', :to => 'user_pages#home', :as => :user_root
  end

  match '/user' => 'user_pages#home', :as => :user_root

また、リストに追加します。

delete 'join' => 'devise/registrations#destroy', :as => :user_registration

アプリケーション全体を最初からやり直した可能性もあります。

于 2012-09-18T20:59:56.130 に答える