Active Record中有趣的事情

时间:2015-07-28 07:22:58

标签: ruby-on-rails ruby activerecord

在文件active_record/relation/finder_methods.rb查看ActiveRecord源代码时,我发现了一些奇怪的东西(代码编辑为了简洁)

    def second
      find_nth(:second, offset_value ? offset_value + 1 : 1)
    end

    def second!
      second or raise RecordNotFound
    end

    def third
      find_nth(:third, offset_value ? offset_value + 2 : 2)
    end

    def third!
      third or raise RecordNotFound
    end

    def fourth
      find_nth(:fourth, offset_value ? offset_value + 3 : 3)
    end

    def fourth!
      fourth or raise RecordNotFound
    end

    def fifth
      find_nth(:fifth, offset_value ? offset_value + 4 : 4)
    end

    def fifth!
      fifth or raise RecordNotFound
    end

    def forty_two
      find_nth(:forty_two, offset_value ? offset_value + 41 : 41)
    end

    def forty_two!
      forty_two or raise RecordNotFound
    end

我能理解第一种和最后一种方法,但是第二种,第三种,第四种,所以没有多大意义。此外,从第五名到第四十二名的记录也有所增加。您可以继续编写糖方法来选择特定位置的记录。

这有什么具体原因吗?

1 个答案:

答案 0 :(得分:2)

42 being revealed as the answer to life, the universe and everything

The Hitchhiker's Guide to the Galaxy的科幻小说参考

任何时候都可以选择一个不太大的仲裁号码,很多科幻爱好者选择42