2012-04-26 16 views
0

私は、私は、ユーザーが登録上のデフォルトでは、ユーザーに従うことができますので、このアクションを実行する必要が私の、同じモデルで別のアクションを実行し

class User < ActiveRecord::Base 
    def follow_user(following_id) 
     Friendship.create(:following_id => following_id, :follower_id => self.id) 
    end 
end 

でアクションを持っています..理にかなった希望。

答えて

0

これを達成するには、オブジェクトモデルのafter_createなど、オブジェクトの生活のある時点でコールされるコールバックを使用できるようにする必要があります。

コールバックの詳細については、Rails Guidesを参照してください。基本的には、Userモデルでこのようなことを言いたいとします。

after_create: :follow_user 

次に、あなたが望むものを達成するためにfollow_userメソッドを書きます。 Userが作成されるたびに、follow_userが実行されます。あなたのコードに基づいて、私はfollow_userが、作成時(パラメータを渡す)でなく、あるユーザが別のユーザをたどるときにいつでも使用される方法だと仮定します。検証でパラメータを渡すことを回避するために、パラメータを渡さずにメソッドが呼び出された場合、「デフォルト」のユーザが追跡されるように、デフォルトの引数を設定します。このようなもの:

def follow_user(following_id = 1) 
    code 
end 
+0

あなたのお手伝いを...ありがとうございました... –

+0

恐ろしい!お役に立てて嬉しいです。 Stack Overflowでは、あなたのために助けられた/働いた答えを受け入れる、そして/またはupvoteするのが一般的です。あなたのアプリの残りの部分と幸運! –

+0

ちょっと!申し訳ありませんが、今ここまで新しいメッセージを見ています。:)しかし、私は15の評判を得るまで投票を受け入れることはできません。 –

関連する問題