Rails模型验证:两个用户不能相同

时间:2012-06-30 21:08:17

标签: ruby ruby-on-rails-3 activerecord

我有一个类似的模型:

class Rating
  # user_id, author_id
end

我想要做的是验证author_id / user_id,使它们不能相同,基本上,这样用户就无法给自己打分。

我是否可以说这应该使用Rating类中的验证来完成?

validates :author_id, # custom validation options

1 个答案:

答案 0 :(得分: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