ruby-on-rails - 验证多个字段之间值的唯一性

标签 ruby-on-rails ruby ruby-on-rails-3

我知道验证像“用户名”这样的标准单一字段的唯一性很容易。但是,对于输入数量不受限制的内容,例如“最喜欢的电影”,用户可以在其中添加尽可能多的最喜欢的电影,这是我无法弄清楚的。

他们可以选择通过构建器添加或删除字段,但我如何确保没有两个或更多条目重复?

最佳答案

我认为完成此类任务的最简单方法是验证范围内某物的唯一性。我不能肯定地说它如何适合你的场景,因为你没有描述你的模型关联,但这里有一个例子说明它如何在 FavoriteMovie 模型中工作:

class FavoriteMovie < ActiveRecord::Base
  belongs_to :user

  validates_uniqueness_of :movie_name, :scope => :user_id
end

这可确保同一特定用户不能有两个相同的电影名称。

关于ruby-on-rails - 验证多个字段之间值的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5725339/

相关文章:

ruby-on-rails - 将带有 sunspot 的 Rails 应用程序连接到经过授权的 tomcat/solr 服务器

ruby-on-rails - Rails I18n _html 后缀规则和从 Controller 调用的翻译助手

Ruby 对象与哈希

arrays - 如何使用值中的键将哈希数组转换为哈希对象?

ruby-on-rails - Ruby on Rails错误 rake db :migrate

mysql - 在具有不同字段的数据库中进行 Rails 搜索

ruby-on-rails - 如何使用 Google-Maps-for-Rails 使信息窗口自动显示为打开状态

mysql - 我的 rspec 测试是否由于 mysql 时间戳格式而失败?

ruby - 如何在 Node.js/RoR 中监控 20 个网站(Ping 或 HTTP)的正常运行时间

ruby-on-rails - 如何隐藏 submit_tag 按钮