Ruby on rails rails模型中的重复条目验证

Ruby on rails rails模型中的重复条目验证,ruby-on-rails,validation,activerecord,Ruby On Rails,Validation,Activerecord,如果我有一个模型部门,有用户id和组id 当操作尝试保存已存在的模型条目时,即1(用户id)、22(组id)已存在,此时我想提出违规。在rails中实现这一点的方法是什么 下面是我现在用来保存的代码: if @department.save flash[:notice] = "Successfully created department." redirect_to @department else render :action => 'new' end 部门型号 class

如果我有一个模型
部门
,有
用户id
组id

操作
尝试保存已存在的
模型
条目时,即1(用户id)、22(组id)已存在,此时我想提出违规。在rails中实现这一点的方法是什么

下面是我现在用来保存的代码:

if @department.save
  flash[:notice] = "Successfully created department."
  redirect_to @department
else
  render :action => 'new'
end
部门
型号

class Department < ActiveRecord::Base
  belongs_to  :group
  belongs_to  :user
end
班级部门
编辑
现在,我可能误解了你,也许你只想检查一下。如果我错过了什么,请告诉我

活动记录有
new\u record?
方法来确定对象是否已保存(数据库中是否存在该对象的记录)。
我从以下位置复制此演示:

p=Person.new(:name=>“John Doe”) => # >>新记录? =>正确 >>p.save =>正确 >>新记录? =>错误
您还可以使用内置的rails验证,比如

class Department < ActiveRecord::Base
  validate :my_validation_method, :on => update

  def my_validation_method
    errors.add_to_base("You can't update existing objects")
  end
end
班级部门update
定义我的验证方法
错误。将\添加到\基础(“无法更新现有对象”)
结束
结束
您可以在我上面链接的教程中找到有关rails验证的更多信息。

编辑 现在,我可能误解了你,也许你只想检查一下。如果我错过了什么,请告诉我

活动记录有
new\u record?
方法来确定对象是否已保存(数据库中是否存在该对象的记录)。
我从以下位置复制此演示:

p=Person.new(:name=>“John Doe”) => # >>新记录? =>正确 >>p.save =>正确 >>新记录? =>错误 您还可以使用内置的rails验证,比如

class Department < ActiveRecord::Base
  validate :my_validation_method, :on => update

  def my_validation_method
    errors.add_to_base("You can't update existing objects")
  end
end
班级部门update
定义我的验证方法
错误。将\添加到\基础(“无法更新现有对象”)
结束
结束

您可以在我上面链接的教程中找到有关rails验证的更多信息。

但我想您想要验证的是,只有一个部门的pair user\u id=1,group\u id=22。这可以通过以下方式实现:

validates_uniqueness_of :user_id, :scope => [:group_id]

但我想你想要的是验证只有一个部门的pair user\u id=1,group\u id=22。这可以通过以下方式实现:

validates_uniqueness_of :user_id, :scope => [:group_id]