1

ログイン後にユーザーが新しいテーブル(Webサイト)を作成するページにリダイレクトしたいので、ApplicationControllerに関数があります。

def after_sign_in_path_for(resource)
 new_website_path 
end

登録後、ユーザーが自分の編集ページにリダイレクトするようにします。

def after_sign_up_path_for(resource)
 edit_user_registration_path
end

だから問題は-なぜそれが機能しないのですか?

4

2 に答える 2

1

これは、コントローラでafter_sign_up_path_for(resource)確認できるように、Devise 登録コントローラの保護されたメソッドであるためです。サインアップ後にカスタム リダイレクトを取得できる唯一の方法は、自分で Devise 登録コントローラーをオーバーライドすることです。Devise Wikiにその手順が記載されています。

于 2012-05-22T02:05:26.713 に答える
0

だから私はこのようにアクセスレベルを変更しました:

 class RegistrationsController < Devise::RegistrationsController
 protected
   def after_sign_up_path_for(resource)
    edit_user_registration_path
   end
 protected
  def after_sign_in_path_for(resource)
    new_website_path
   end
  end

これ以前は、after_sign_inとafter_sign_outで機能していましたが、現在はまったく機能していません。なんで ?

于 2012-05-22T06:59:00.567 に答える