2011-11-04 25 views
1

我不知道我是否正确思考。Rails 3:外部链接上的before_filter

在我的Rails应用程序中,我使用了Omniauth的Facebook身份验证。

我有2个不同的链接“登录”(他们都针对身份验证/ Facebook与回调认证/创建)。一个应该重定向到用户配置文件(users/show),另一个应用到创建后(posts/new)。

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

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

回答

0

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

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

你将不得不将其存储在一个变量,因为认证/创建很可能将使用会话来登录你

final_destination = session[:final_destination] 

创建的动作结束后:

redirect_to final_destination 

redirect_to final_destination_2 if sequels.enjoy? 
+0

谢谢你!这就是我一直在寻找的:) – michel