2012-02-06 12 views
2

私は、投稿、コメント、投票、ユーザー(Devise)という4つのモデルを持っています。 ユーザーは投稿とコメントに投票できます。投票モデルにはuser_idという属性があり、投稿またはコメントを投票したユーザーのIDが格納されます。モデルのさまざまなインスタンスで現在のユーザーIDが存在するかどうかを確認する方法を教えてください。

ユーザーが投票ように、構造は次のようになります。

ポスト(:ID = 29)

投票(:USER_ID = 1)、投票(:user_idは= 3)、投票(:USER_ID = 5)、投票(:USER_ID = 2)

4票(@ post.votes.count)

私は次のことを持っているしたいと思います:

current_user IDが何X.

、このポストの投票インスタンスの user_id属性に存在する場合

たとえば、上記の例の後に、current_userにID 3がある場合は、Xがトリガーされます。 current_userにIDが4の場合、それはされません。

これを行うための提案はありますか?

答えて

1

あなたはこれを行うことができます。

if @post.votes.exists?(:user_id => current_user.id) 
    # Do something 
end