Tag: 独特

Rails:validation多个模型的唯一性

有没有办法在两个不同模型中的列之间validation属性的唯一性。 例如: 我有自行车模型和汽车模型。 当我创建一个新的自行车时,我想validation自行车的名称是独一无二的,因为没有其他自行车或具有该名称的汽车。 我不想将它们放在一个模型中,因为它们具有非常不同的属性。 我在轨道上2.3.8 谢谢。

Rails 3.2唯一性validation引发未定义的方法’零?’ 为零:Nilclass

我正在使用Rails 3.2.0。 我有一个简单的模型,如下所示 class Favorite true validates :uuid, :presence => true, :uniqueness => {:scope => :lst} end 如果我试试这个 f = Favorite.new f.valid? 我收到以下错误消息: NoMethodError: undefined method `zero?’ for nil:NilClass from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/associations/alias_tracker.rb:28:in `aliased_name_for’ from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/associations/join_dependency.rb:17:in `initialize’ from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/relation/finder_methods.rb:219:in `new’ from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/relation/finder_methods.rb:219:in `construct_join_dependency_for_association_find’ from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/relation/finder_methods.rb:192:in `exists?’ from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/validations/uniqueness.rb:32:in `validate_each’ from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activemodel-3.2.0/lib/active_model/validator.rb:153:in `block in validate’ from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activemodel-3.2.0/lib/active_model/validator.rb:150:in `each’ […]

如何查找MASSIVE数组中的哪些项目不止一次出现?

这是一个非常简单的问题; 哪些项目不止一次出现在列表中? array = [“mike”, “mike”, “mike”, “john”, “john”, “peter”, “clark”] 正确答案是[“mike”, “john”] 。 好像我们可以这样做: array.select{ |e| ary.count(e) > 1 }.uniq 问题解决了。 可是等等! 如果arrays非常大,该怎么办: 1_000_000.times { array.concat(“1234567890abcdefghijklmnopqrstuvwxyz”.split(”)) } 碰巧我需要弄清楚如何在合理的时间内完成这项工作。 我们正在谈论数以百万计的记录。 对于它的价值,这个庞大的arrays实际上是10-20个较小arrays的总和。 如果比较那些比较容易,请告诉我 – 我很难过。 我们正在谈论每个文件10,000到10,000,000行,数百个文件。