2

私はデバイスを使用ています。サインイン プロセスが成功した後、前のページにリダイレクトしたい。私が抱えている問題は、request.referer に常に sign_in URL が含まれていることです。明示的なフックなしで前のページの URL を取得するにはどうすればよいですか。

def after_sign_in_path_for(resource)
   stored_location_for(resource) || request.referer || search_index_path
end
4

2 に答える 2

3

私は自分の開発マシンにいないので、確認できません。しかし、そうあるべきです。

#application controller

def store_return_to
      session[:return_to] = request.uri
end

def redirect_back_or_default
    redirect_to(session[:return_to] || root_url)
    session[:return_to] = nil
end


#home_controller | or any other controller we want to use it.
before_filter :store_return_to

# Session/login_controlelr
Call this function after successful sign_in or sign_up
redirect_back_or_default

少し軌道から外れていますが(考案)、役に立ちます。

于 2013-01-02T10:42:39.617 に答える
0

アクションコントローラーの中に入れる

before_action :store_return_to, unless: :devise_controller?
def store_return_to
 store_location_for(resource, request.url)
end

例ごとresourceに、デバイスモデルはどこにありますか:user

于 2016-01-12T18:24:31.050 に答える