草庐IT

uniqueness

全部标签

ruby-on-rails - 如何正确处理 Rails 中的 ActiveRecord::RecordNotUnique

我试图在我的Rails项目中使用唯一索引来强制执行唯一性。我发现了一些令人困惑的事情。就像在我的站点注册用户一样,您需要提供电子邮件地址和昵称,两者都必须是唯一的。我为电子邮件和昵称添加了唯一索引。当重复出现时,我拯救异常ActiveRecord::RecordNotUnique,现在问题来了,我怎么知道哪个字段导致异常?非常感谢您的帮助。 最佳答案 恕我直言,您还应该添加uniquenessvalidators到你的模型。这允许您使用Rails的验证和错误消息。#addtomodelvalidates:email,uniquene

ruby - 生成集合的所有 "unique"子集(不是幂集)

假设我们有一个集合S,它包含几个子集:-[a,b,c]-[a,b]-[c]-[d,e,f]-[d,f]-[e]我们还假设S包含六个唯一元素:a、b、c、d、e和f。我们如何找到S的所有可能子集,这些子集恰好包含S的每个唯一元素一次?函数/方法的结果应该是这样的:[[a,b,c],[d,e,f]];[[a,b,c],[d,f],[e]];[[a,b],[c],[d,e,f]];[[a,b],[c],[d,f],[e]].是否有任何最佳实践或任何标准方法来实现这一点?如果有伪代码、Ruby或Erlang示例,我将不胜感激。 最佳答案 听

ruby-on-rails - ActiveRecord 验证 :uniqueness on association

我需要执行验证以确保公司内只有一个用户可以存在于给定类别中。validates:user_id,:uniqueness=>{:scope=>[:category,:company_id],:message=>"alreadyexists"}除了在:user_id键上设置错误消息外,这有效。如何在:user键上设置错误(validates:user给出错误)? 最佳答案 这是检查唯一性并强制将错误分配给:user属性的简单方法:classUseruser_id,:company_id=>company_id,:category=>ca

ruby-on-rails - 为什么 PG::UniqueViolation: ERROR: duplicate key value violates unique constraint?

我有一个模型Post,每次创建帖子时,我都希望同时创建一个新的Moderation实例。所以在post.rb中我使用回调after_save:create_moderation然后写一个私有(private)方法:...includeReportableafter_save:create_moderationprivatedefcreate_moderationself.create_moderation!(blog:Blog.first)end但是在创建提案时出现此错误:PG::UniqueViolation:ERROR:duplicatekeyvalueviolatesunique

ruby-on-rails - rails 3 : how to generate custom error message from failed validation

我正在使用validates:feed_id,presence:true,uniqueness:true我应该如何生成自定义错误消息以指定用户已经订阅了此提要(feed_id)字段重复我知道我可以只做validate_uniqueness_of但它会不必要地使代码困惑。如果唯一性验证失败,我该如何传递特定的错误消息?? 最佳答案 使用键message和期望的消息作为值而不是true放置一个散列:validates:feed_id,presence:true,uniqueness:{message:"alreadysubscribed

ruby-on-rails - rails 3 : Generate unique codes (coupons)

生成唯一代码以用作优惠券代码的最佳方法是什么?谢谢。 最佳答案 在Ruby的标准库中有SecureRandom用于此:SecureRandom.hex(3)输出的长度是输入指定长度的两倍。 关于ruby-on-rails-rails3:Generateuniquecodes(coupons),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4558250/

ruby-on-rails - 删除或覆盖由父类(super class)或混合添加的 ActiveRecord 验证

我在我的Rails应用程序中使用Clearance进行身份验证。Clearance::Usermixin向我的User模型添加了一些验证,但其中有一个我想删除或覆盖。这样做的最佳方法是什么?有问题的验证是validates_uniqueness_of:email,:case_sensitive=>false这本身还不错,但我需要添加:scope=>:account_id。问题是,如果我将其添加到我的User模型validates_uniqueness_of:email,:scope=>:account_id我得到了两种验证,而且Clearance添加的验证比我的更严格,所以我的没有效果

ruby-on-rails - validates_uniqueness_of 范围为多列

将Validates_uniqueness_of与:scope选项一起使用时,传递这样的列数组是否有效:validates_uniqueness_of:x,:scope=>[:y,:z]因为我希望:x在:y和:z的上下文中是唯一的如果不是那么你怎么能做到这一点?2个验证每个范围一个?谢谢 最佳答案 是的,它是有效的,您的语法正是实现它的方式。查看validationsdocumentationpage了解更多详情。 关于ruby-on-rails-validates_uniqueness

javascript - JQuery Unique() 函数无法正常工作

我正在开发一个允许用户选择多个“卡片”的界面。每张卡片都有一个“data-name”属性,也可能有一个对应的菜单项。如果他们在主视图中选择卡片,它还会突出显示菜单项。单击某些内容时,我将“选定”类添加到其中。然后我获取所有“选定”项目并计算唯一的数据名称属性以获得实际选定项目的数量。这在选择最多5个项目时效果很好。出于某种原因,在第6项上,unique()函数似乎停止正常工作。我无法用jsfiddle重现这个问题,但代码没有那么复杂,因为在本地我也在处理“类型”,但我认为这与问题无关。下面是我选择第5项后相关数组的一些屏幕截图。在这里您可以看到所有选定的项目。正如预期的那样,有10个。

postgresql - 如何获取 unique_constraint 违规的列名?

我正在使用pq驱动程序,我想知道为什么当我遇到唯一约束违规时pq.Error给出一个空列。我可以解析Detail但是Column是空的有什么原因吗?如果我可以从Column获取email而不是解析Detail会更好这是错误的样子:Severity:"ERROR"Code:"23505"Message:"duplicatekeyvalueviolatesuniqueconstraint"unique_users""Detail:"Key(email)=(user3@email.com)alreadyexists."Hint:""Position:""InternalPosition:""