Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rails模型验证:两个用户不能相同_Ruby_Ruby On Rails 3_Activerecord - Fatal编程技术网

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

Ruby Rails模型验证:两个用户不能相同,ruby,ruby-on-rails-3,activerecord,Ruby,Ruby On Rails 3,Activerecord,我有这样一个模型: class Rating # user_id, author_id end 我想做的是验证author\u id/user\u id,这样它们就不能是相同的,本质上,这样用户就不能给自己打分 我说这应该在评级类中使用验证来完成,对吗 validates :author_id, # custom validation options 您需要自定义验证: class Rating # user_id, author_id validate :ensure_auth

我有这样一个模型:

class Rating
  # user_id, author_id
end
我想做的是验证author\u id/user\u id,这样它们就不能是相同的,本质上,这样用户就不能给自己打分

我说这应该在评级类中使用验证来完成,对吗

validates :author_id, # custom validation options

您需要自定义验证:

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
等级评定
#用户id、作者id
验证:确保作者不是用户
私有的
def确保作者不是用户

错误[:author\u id]您需要自定义验证:

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
等级评定
#用户id、作者id
验证:确保作者不是用户
私有的
def确保作者不是用户
错误[:作者id]