2012-01-07 44 views
0

我的設計+ Omniauth設置目前使用以下路徑中使用Facebook的登錄用戶:設計+ Omniauth /傳遞部分信息爲Omniauth控制器重定向

user_omniauth_authorize_path(:facebook) 

我有一個部分顯示的項目列表中,具有一個鏈接,每個文件:

1)記錄用戶與上述路徑如果不是在

2登錄)鏈接到項顯示頁面,如果它們在

記錄

如果未登錄,我想修改#1以重定向登錄後點擊的特定項目的項目顯示頁面

這需要以某種方式將物品的ID傳遞到Omniauth控制器。

有什麼建議嗎?

回答

0

不,它以更簡單的方式完成。

在您的項目控制器設置的before_filter

class ItemController < ApplicationController 
    before_filter :authenticate_user! 
end 

然後渲染所有的鏈接可以鏈接到項目,這樣的事情:

<%= link_to 'item', item_path(@item) %> 

在這種情況下,如果用戶沒有登錄和試圖查看某個項目,他被重定向到登錄頁面,登錄後他被重定向回他想查看的項目。

此方法還可確保除非用戶登錄(即使他複製了項目的鏈接並將其發送給朋友,而您的網站上沒有帳戶),您的項目才能被查看。