问题标签 [validates-uniqueness-of]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
371 浏览

ruby-on-rails - Rails validates_uniqueness_of 忽略范围

我对 Rails 很陌生,并且在 Rails/ActiveRecord 似乎忽略validates_uniqueness_of了我继承的项目中声明的范围时遇到了麻烦。我有以下模型:

有一个现有的用户记录,其中一个emailoffoo@bar.com和一个brand_idof 1

尝试使用idof 123emailoffoo@bar.combrand_idof更新另一个用户记录时,2出现Validation failed: Email has already been taken错误。

发生此错误时,我看到以下两个查询一个接一个地运行:

看起来第二个查询正在执行正确的唯一性检查,但第一个查询忽略了范围。

任何有关查看内容或如何进一步调试的提示将不胜感激。

0 投票
1 回答
729 浏览

ruby-on-rails - 唯一性验证不适用于has_many:尽管rails 5上的关联

楷模

能够在页面和用户页面上创建多个用户,就像没有调用验证一样。

0 投票
1 回答
102 浏览

ruby-on-rails - Rails 唯一性验证似乎不起作用

我的产品模型在下面有这个验证规则,在测试规则时,我发现 uniqueness: true for :title 实际上什么也没做。

例如,如果我像这样创建两个具有相同标题的实例,

我不明白为什么唯一性根本不起作用?

0 投票
1 回答
45 浏览

ruby-on-rails - 我正在尝试在 Rails 上使用区分大小写的唯一性,但测试失败

我目前正在关注关于 ruby​​ on rails 的 Michael Hartl 教程。每次我运行模型时:测试由于电子邮件的唯一性而失败。尽管我已经在模型中说明了这一点。我想在开始向 Web 应用程序添加数据之前解决这个问题。

这是我的 user.rb

这是我的 user_test.rb

0 投票
2 回答
2356 浏览

ruby-on-rails - 使用 rspec 测试 Rails 模型中字段唯一性的验证,而不使用辅助 gem

我正在尝试编写测试来验证 RoR 模型中字段的唯一性。

我正在开发 Ruby on Rails 应用程序,我用它来练习我的 TDD 技能。到目前为止,我一直使用 Internet 作为我的资源。我正在编写模型验证测试。我不会使用“should”、“FactoryGirl”(等)gem。我知道使用这些 gem 可以为我节省大量编码,但我最终会使用这些 gem。我想学习如何在没有 gem 的情况下自己编写 rspec 测试,以帮助我了解如何编写测试。到目前为止,我做得很好,直到“唯一性”测试。

如何在不使用“should”、“FactoryGirl”(等)gem 的情况下创建测试以验证“用户”模型中“电子邮件”字段的唯一性。我知道使用这些 gem 会节省大量编码,但我最终会使用这些 gem。我想学习如何在没有 gem 的情况下自己编写 rspec 测试,以帮助我了解如何编写测试。

Stackoverflow(以及网络上的其他地方)对这个问题的大多数“答案”都包括使用这些辅助 gem。但是没有宝石就找不到答案。

这是模型,User.rb ```

And here is `user_spec.rb`.

```

我如何写来测试唯一性。我应该使用“主题”以外的其他东西进行测试吗?请记住,这次我不想要使用 gems (Shoulda/FactoryGirl/etc) 的解决方案。

在过去的几天里,我一直在这样做,但没有运气。有什么解决办法吗?Ruby on Rails 上关于 rspec 的最佳教程在哪里?

0 投票
1 回答
32 浏览

ruby-on-rails - 验证关联表属性的唯一性

我正在努力实现以下目标:

  • 创建一个验证器以确保每个用户都有一个唯一的专辑“名称”。

请在下面查看我的代码:

协作.rb

用户.rb

专辑

专辑控制器.rb

我在专辑模型中尝试了以下内容:

还有一些像这样的自定义验证器:https ://github.com/rails/rails/issues/20676适用于嵌套形式,但所有这些都没有成功。

我没有想法..非常感谢您的帮助

0 投票
2 回答
1109 浏览

ruby-on-rails - Ruby On Rails 设计:如何在注册期间避免电子邮件唯一性验证并重写以检查它是否只有在角色“X”时才唯一

我想中断我的 rails 应用程序中的默认注册操作,更改电子邮件验证。我需要的只是只有当该用户已经注册并且具有角色时才具有唯一的电子邮件字段'X'

我尝试了以下方法,但我的应用程序返回"Email has already been taken"消息:

验证:

(我会很高兴有任何帮助)

0 投票
1 回答
28 浏览

ruby-on-rails - 在与 ruby​​ on rails 具有多态关联的模型上验证时间重叠

我正在尝试在模型中创建验证(我认为实际上在数据库级别验证它会更好)所以用户不能购买和已经购买的物品在 2 天的时间间隔内(2 天后没关系如果他/她再次购买)。

我有一个“购买”动作的模型,每个购买动作都有一个关联的项目,称为“可购买”。此外,每个购买操作都有一个关联的 user_id。

我在购买模型中尝试这样(但我的问题是我不知道如何正确编写此验证,甚至在编写方法时如何检索“purchasable.id”或“user.id”验证)

购买及其可购买的外观如下:

现在它没有通过我的测试,似乎它不允许保存任何购买:

失败信息:

失败:

0 投票
1 回答
193 浏览

ruby-on-rails - 为 Rails 中的动态属性添加唯一性验证

我们有一个多租户应用程序,其中每个帐户的验证都不同。我们可以很容易地实现这一点,如下所示,

然后我们必须添加基于帐户的唯一性验证,所以尝试相同。但得到未定义的方法错误。有什么办法可以让我完成这项工作吗?

错误

0 投票
1 回答
31 浏览

ruby-on-rails - 验证由另一个属性存在范围内的属性的唯一性

如果我需要验证所有者范围内的猫名的唯一性,以便没有所有者可以拥有许多同名的猫,我可以使用它:

validates_uniqueness_of :name, scope: :owner_id

但是我如何验证猫是否拥有所有者的唯一性?

所以所有有主人的猫都有唯一的名字。

所有没有主人的猫都有唯一的名字。

所以它的范围类似于scope: self.owner.present?.

我可以在不使用自定义验证方法的情况下使用验证助手吗?