问题标签 [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 投票
1 回答
386 浏览

ruby-on-rails - Rails validates_uniqueness_of 和范围 - 仅在更新时工作

我有这 3 个课程:

validates_uniqueness_of当我用他相关的 ProfileSubject 集合更新我的个人资料时,这非常有用。但是,在创建操作时 - 它没有验证这种独特性。我想,这可能是因为当我创建对象时我还没有 profile_id ......我尝试为模型添加我自己的令牌,我可以使用它来连接它们并通过它进行验证(在范围上使用它validates_uniqueness_of)。我现在知道的广告,它没有用,也不起作用。

你能帮我吗...为什么这个标准验证在更新操作上可以正常工作..但在创建操作上不起作用。

创建代码是标准的,如下所示:

0 投票
1 回答
29 浏览

ruby-on-rails - Rails 避免重复数据库条目(许多属性)

有什么方法可以让模型执行类似的错误消息flash[:notice]??

我想避免两次将相同的数据输入到我的数据库中。

此代码停止重复,但不发送任何错误消息。我该如何解决?

0 投票
1 回答
76 浏览

ruby-on-rails - Ruby on Rails——验证唯一记录,而不仅仅是记录的唯一属性

这可能是一个非常重要的问题,但我试图只允许具有属性“lightbulb_id”和“student_id”的名为“Favorites”的表的唯一记录。我知道模型验证

但是,我想验证整个记录的唯一性(所以 和 的组合lightbulb_idstudent_id。因此,lightbulb_id并且student_id可以重复(学生可以“收藏”多个灯泡 ID),因此相同的 student_id 可以在收藏夹表中多次出现,但具有不同的灯泡 ID。但是具体的组合不应该重复(一个学生不能两次喜欢一个灯泡)

这可能是一个非常基本的问题,任何建议将不胜感激。谢谢。

0 投票
1 回答
115 浏览

ruby-on-rails - 我们可以在使用gecoder gem时检查经纬度的唯一性吗?

在我的网络服务中使用地理编码器 gem,我们需要验证添加位置的唯一性的服务器端。使用地理编码器 gem 是否可能,我们不希望数据库中出现两次相同的位置。

任何帮助将不胜感激?

0 投票
3 回答
242 浏览

ruby-on-rails - Rails 模型验证 1 字

我尝试从仅限于 1 个字的博客类别添加验证。

但我试试这个length: { maximum: 1 }

我不工作。是否仅验证一个单词而不是唯一性?

谢谢您的回答

0 投票
1 回答
878 浏览

ruby-on-rails - 从外键的外键验证唯一性

我的 Rails 应用程序中有 3 个模型,用户、课程和课程模板。

一个课程属于一个用户,一个课程模板属于一个课程。

我想要做的是验证 CourseTemplate 名称和用户 ID 之间的唯一性。

这可能吗?

0 投票
2 回答
1333 浏览

ruby-on-rails - Rails - 唯一性的自定义验证

我想在列(类型字符串)上赋予唯一性,但是问题出在一些字符串上,我在使用函数将它们插入数据库之前截断了开头的一部分,并且before_save. 因此,rails 唯一性验证不起作用,因为输入可能与数据库中的不同,即使在截断/格式化之后,它们应该是相同的。

我希望能够先截断我的字符串,然后验证它的唯一性,但是我不确定是否可以使用 rails validates uniqueness: true。我只需要写一个自定义validate吗?

0 投票
1 回答
135 浏览

ruby-on-rails - 如何使用 validates_uniqueness_of 一个 id,但仅适用于具有相同 id 的项目列表中的某些项目。导轨

我有两个下拉列表。一个包含项目bmp_id的子列表和一个包含项目的子列表bmp_id(在本例中为 2),每个项目都有一个唯一的bmpsublist_id. 主下拉列表中的选项之一包括五个带有bmpsublist_id[3, 4, 5, 6] 的子列表选项。我想让它使用户只能拥有一个bmpsublist_id带有[4、5 和 6] 的子列表选项,它bmpsublist_id不应该是唯一的,并且无论是否添加了其他选项都可以添加。当您提交表单时,bmp_idbmpsublist_id被添加到名为 Bmp 的表中。

这是我在模型中使用的验证:

此验证的问题是,如果您首先添加带有bmpsublist_id3 的选项,则您不能再添加带有bmpsublist_id4、5 和 6 的选项,即使bmpsublist_id已经有 3的记录,我仍然希望能够添加这些选项被添加。但是,如果您添加bmpsublist_id4、5 或 6 的其中之一,您仍然可以添加我不想更改的 3。

有任何想法吗?对不起,如果这超级混乱。我真的不知道如何很好地解释事情。

更新:

我想通了,答案在下面

0 投票
1 回答
123 浏览

ruby-on-rails - 使用collection_select validates_uniqueness_of 时Ruby on Rails 错误

首先,对不起我的英语不好。我还在学习。

我的数据库中有 3 个表:

问题

  • has_many :registers
  • has_many :solutions, through : :registers

解决方案

  • has_many :problems
  • has_many :problems, through : :registers

登记

  • belongs_to: problem
  • belongs_to :solution

该系统运行良好。我能够在所有 3 个表中插入新数据。

在 table/model 的视图中Register,为了选择问题和解决方案,我使用了 collection_select,如下所示:

仅当我尝试将此验证添加到Register

然后我得到:

我不知道为什么。

因此,我尝试通过控制器进行验证:

但错误仍然存​​在。

我相信原因是collection_select,但我不知道如何解决它。

再说一次,我能够在所有 3 个数据库表中保留日期。但是当我试图避免重复时,就会出现错误。

0 投票
1 回答
454 浏览

performance - Active Record Rails 中唯一性验证的效率

在为rails中的列创建具有唯一值的记录时,哪个更有效 放置唯一性验证与查找记录是否存在具有相同值并基于存在创建。

在编码和性能方面哪个更有效