我不知道我是否正确思考。
在我的rails应用程序中,我使用了Omniauth的facebook身份验证。
我有2个不同的链接“登录”(它们都以auth / facebook为目标,带有回调身份验证/创建)。一个应该重定向到用户配置文件(用户/显示),另一个应该重定向到帖子创建(发布/新)。
我认为这样做的好方法是在用户点击其中一个“登录”链接时存储路径(users / show)或(posts / new),然后在身份验证时重定向到此路径/ create方法。我在“auth / facebook”上考虑过before_filter。
但是auth / facebook是facebook的外部链接,而不是常规操作。那我该怎么办呢?
答案 0 :(得分:0)
我可能会尝试在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?