【问题标题】:Rails 3 : before_filter on an external linkRails 3:外部链接上的 before_filter
【发布时间】:2011-11-04 22:27:44
【问题描述】:

我不知道我的想法是否正确。

在我的 rails 应用程序中,我使用 Omniauth 的 facebook 身份验证。

我有 2 个不同的链接“登录”(它们都针对具有回调身份验证/创建的 auth/facebook)。一个应该重定向到用户个人资料(users/show),另一个应该重定向到帖子创建(posts/new)。

我认为这样做的一个好方法是在用户单击“登录”链接之一时存储路径 (users/show) 或 (posts/new),然后在身份验证时重定向到此路径/创建方法。我想到了“auth/facebook”上的 before_filter。

但 auth/facebook 是指向 facebook 的外部链接,而不是常规操作。那么我该怎么做呢?

【问题讨论】:

    标签: ruby-on-rails omniauth before-filter


    【解决方案1】:

    我可能会尝试在 auth/facebook 的会话中存储一个“final_destination”变量。

    session[:final_destination] = params[:final_destination]
    ...
    omniauth_does_its_thing
    ...
    

    您必须将其存储在一个变量中,因为 authentications/create 可能会使用会话来让您登录。

    final_destination = session[:final_destination]
    

    创建的动作结束后:

    redirect_to final_destination
    

    redirect_to final_destination_2 if sequels.enjoy?
    

    【讨论】:

    • 谢谢!这就是我要找的:)
    猜你喜欢
    • 1970-01-01
    • 2013-09-21
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多