【发布时间】:2021-05-07 04:02:36
【问题描述】:
我是 Rails 新手,很难理解如何执行以下操作:
- 用户创建的条目具有两个值“名称”和“位置”。
- 我想检查一下 DB 中是否已经存在该名称 + 职位组合
- 如果是这样,我希望数据库吐出一个错误,指出名称和位置已经存在。
我认为这会很容易......只需编写:
class Rater < ApplicationRecord
validate :unique_position, :on => :create, :on => :edit
private
def unique_position
if Rater.where(name: name, position: position).any?
return false
end
end
end
我认为通过返回 FALSE,验证将不允许操作继续,但我能够创建重复项。我试过搜索网络和这个网站,尝试了不同的方法,但不确定我使用的关键字不正确。
欣赏任何方向。 ????
【问题讨论】:
标签: ruby-on-rails validation model ruby-on-rails-6