2012-01-07 9 views
0

私の工夫+ Omniauthセットアップが現在のFacebookを使用してユーザーをログインするには、以下のパスを使用しています。工夫+ Omniauth /リダイレクトのためOmniauthコントローラに部分的に情報を渡す

user_omniauth_authorize_path(:facebook) 

私は、項目のリストを表示する部分を持っています、そのリンクを有する各アイテム:それらは

にログインしている場合)

2にログインしていない場合

1)上記のパスでユーザをログはアイテム表示ページにリンク

ログインしていない場合は、ログイン後ににクリックされた特定のアイテムのアイテム表示ページをリダイレクトするように#1を変更したいと思います。

これは、アイテムのIDを何とかOmniauthコントローラに渡す必要があります。

提案がありますか?

答えて

0

いいえ、これは簡単な方法で行われます。 、アイテムへのリンクとして、このようなものすべてのリンクをレンダリングその後before_filter

class ItemController < ApplicationController 
    before_filter :authenticate_user! 
end 

を設定し、あなたの項目コントローラで

:ユーザーがログインしていない場合、この場合、

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

をし、いくつかのアイテムを見ようとすると、彼はログインページにリダイレクトされ、ログイン後、彼は見たいアイテムにリダイレクトされます。

この方法では、ユーザーがログインしていなければアイテムを表示することもできません(アイテムへのリンクをコピーしてサイトにアカウントを持たない友人に送信したとしても)。

関連する問題