0

私のアプリには、sign_in の 2 つのモデルがあります。また、デバイス用のコントローラーを生成しませんでした。すべてが組み込みです。私の ApplicationController は次のとおりです。

  def after_sign_in_path_for(resource)
    case resource
      when User then request.referrer 
      when Admin::Admin then :admin_mainpage
    end
  end

  def after_sign_up_path_for(resource)
    root_path
  end

  def after_sign_out_path_for(resource_or_scope)
    request.referrer
  end

しかし、新しいユーザーをサインアップしようとすると、デバイスもサインインユーザーになり、devise filter chain halted as require_no_authentication rendered or redirected

しかし、システムにサインインするだけで前のページにリダイレクトされますが、新しいユーザーを登録するときにサインインしてroot_pathにリダイレクトする方法はありますか?

4

1 に答える 1

1

それが良い解決策かどうかはわかりませんが、次のようなことを試してください。

  def after_sign_in_path_for(resource)
    case resource
      when User then 
        if request.referrer.to_s.include? "sign_up"
          root_path
        else
          request.referrer 
        end
      when Admin::Admin then :admin_mainpage
    end
  end
于 2013-01-10T19:21:07.007 に答える