Ruby on rails 如何通过合并操作的结果使字段唯一?
全名不能唯一,但显示名称必须唯一。如果我想使用完整的\u名称作为后备,但我仍然想检查显示\u名称的唯一性Ruby on rails 如何通过合并操作的结果使字段唯一?,ruby-on-rails,ruby-on-rails-3,activerecord,arel,activemodel,Ruby On Rails,Ruby On Rails 3,Activerecord,Arel,Activemodel,全名不能唯一,但显示名称必须唯一。如果我想使用完整的\u名称作为后备,但我仍然想检查显示\u名称的唯一性 验证合并唯一性(显示名称、全名)的最干净方法是什么?或实现相同效果所需的任何方法?这可能是您想要的,如果不是,请进一步解释合并 验证:显示\u名称,唯一性=>true 更新 在评论中附加信息之后 class Person validates :full_name, presence: true validates :display_name, unique: ??? attr_a
验证合并唯一性(显示名称、全名)的最干净方法是什么?或实现相同效果所需的任何方法?这可能是您想要的,如果不是,请进一步解释合并
验证:显示\u名称,唯一性=>true
更新
在评论中附加信息之后
class Person
validates :full_name, presence: true
validates :display_name, unique: ???
attr_acessible :full_name, :display_name
end
如果这不符合您的要求,那么
validates :display_name, :uniqueness => {:scope => :full_name}
如果有人不知道我所说的
COALESCE
是什么意思,它与MSSQL上的NULLIF
和Oracle上的NVL
相同,或者与C#中的?
、CoffeeScript中的、或JavaScript和Ruby等大多数动态类型语言中的或
一样。
validates :coalesce
def coalesce
#put your validation in the method here i.e
if self.display_name == false
#then check full_name etc.
end
end