Zakres wyglądałby jak każdy inny (choć może wolisz metodę klasa), np
class Stuff < ActiveRecord::Base
def self.lim
limit(3)
end
end
> Stuff.lim.all
=> [#<Stuff id: 1, name: "foo", created_at: "2013-03-01 17:58:32", updated_at: "2013-03-01 17:58:32">,
#<Stuff id: 2, name: "bnar", created_at: "2013-03-01 17:58:32", updated_at: "2013-03-01 17:58:32">,
#<Stuff id: 3, name: "baz", created_at: "2013-03-01 17:58:32", updated_at: "2013-03-01 17:58:32">]
> Stuff.all.length
=> 8
Jeśli Ci zawsze (lub "prawie" zawsze) chce ten limit, należy użyć domyślnego zakresu:
class Stuff < ActiveRecord::Base
attr_accessible :name, :hdfs_file
default_scope limit(3)
end
> Stuff.all
=> [#<Stuff id: 1, name: "foo", created_at: "2013-03-01 17:58:32", updated_at: "2013-03-01 17:58:32">,
#<Stuff id: 2, name: "bnar", created_at: "2013-03-01 17:58:32", updated_at: "2013-03-01 17:58:32">,
#<Stuff id: 3, name: "baz", created_at: "2013-03-01 17:58:32", updated_at: "2013-03-01 17:58:32">]
> Stuff.all.length
=> 3
Aby pominąć domyślny zakres:
> Stuff.unscoped.all.size
=> 8
I nie sądzę, zakres jest istotne. Może stała w Model.rb, jeśli limit pojawia się w wielu miejscach (pozwala powiedzieć stałą 'MAX_ITEMS_PER_PAGE') – MrYoshiji