Supose I've got 6 children pages, if I write:
<r:children:each offset="3">...</r:childen:each>
it behaves like a pure
<r:children:each>...</r:childen:each>
showing all 6 pages.
But if I write:
<r:children:each limit="6" offset="3">...</r:childen:each>
it works correctly, showing only the last three.
Is it correct?
I recently ran into this confusing problem too.
Here are the relevant specs:
http://github.com/radiant/radiant/tree/master/spec/models/standard_tags_spec.rb#L90-96
which test children:each given a limit, or an offset with a limit. But
there is no spec for an offset without a limit. When I saw this, I
tried adding a limit to my children:each tag (which had only an
offset), and reached the same conclusion as Gabriel.
Page.find(:all, :offset => 3) returns all pages.
This is essentially what the children:each does (scoped to a
particular page)
If this is incorrect behavior, it's with ActiveRecord::Base
As Jim points out, the behaviour is defined at the level of
ActiveRecord.
I wonder if an interim solution might be for the children:each tag to
set a default limit of a very high number (such as 10,000). This way,
you could call:
<r:children:each offset="3">...</r:childen:each>
which would run something like:
Page.find(:all, :offset => 3, :limit => 10000)
and produce the expected effect of returning all pages after the first
3. (As long as you have less than 10000 pages!)
Any thoughts?
Drew
_______________________________________________
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site: http://lists.radiantcms.org/mailman/listinfo/radiant