1

私はそのように設定されたモデルを持っています:

class Rating
  # user_id, author_id
end

私がやりたいのは、author_id / user_idを検証して、それらが同じにならないようにすることです。これにより、ユーザーは自分自身を評価できなくなります。

これは、Ratingクラスの検証を使用して行う必要があると言うのは正しいですか?

validates :author_id, # custom validation options
4

1 に答える 1

4

カスタム検証が必要です。

class Rating
  # user_id, author_id
  validate :ensure_author_is_not_user

private

  def ensure_author_is_not_user
    errors[:author_id] << "can not be the same as user" unless user_id != author_id 
  end

end
于 2012-06-30T21:17:20.990 に答える