2011-07-15 8 views
0

私はデシベル、この種の持つRails - 多対多の場合、登録ユーザーに複数の記事を好きにする方法を制限する方法はありますか?スキーマ:

記事+ ------- + article_users + ------ +ユーザー

をどのように私は複数を投票するユーザーを制限することができます記事の時間?

モデルに適用する検証ルールはありますか?

+0

私たちがあなたを助けるためには、より具体的にする必要があります。あなたが達成しようとしているもののいくつかのコードを貼り付けてください – bruno077

+0

私の投稿を編集します。 – Unitech

答えて

2

has_and_belongs_to_manyを使用している場合は、has_many:throughリレーションシップに置き換えます。リレーションモデルにアクセスできるようにします。 :ArticleUser。

そして、最初の関係モデルArticleUserを検証:

validates_uniqueness_of :user_id, scope => :article_id 

ユーザーがすでに記事に投票したかどうかを知りたい場合は、あなたのようなものを使用することができます

ArticleUser.exists?(:user_id => @user.id, :article_id => @article.id) 

または直接使用してhas_manyの関係...

+0

に感謝する – Unitech

関連する問題