четверг, 1 сентября 2011 г.

Re: Вопрос по скоупам

Хотя да, ты прав. Это я еще не проснулся :-(

2011/9/1 Dmytro Shteflyuk <kpumuk@kpumuk.info>:
> Зачем? LIMIT не влияет на COUNT, потому что при count возвращается только
> одна запись.
>
> --
> Best regards, Dmytro Shteflyuk
> http://kpumuk.info/, twitter: http://twitter.com/kpumuk
>
> On Thursday, 1 September, 2011 at 1:07 PM, Oleksiy Kovyrin wrote:
>
> что-нить типа такого?
>
> class ActiveRecord::Relation
> def my_count
> limit(nil).count
> end
> end
>
> После этого
>
> x = Post.where('id < 100').limit(10) #=> [ up to 10 posts ]
> x.my_count #=> 0..99
>
> 2011/9/1 Vladimir <egotraumatic@gmail.com>:
>
> Доброго времени суток ув. сообщество! У меня к вам вопрос:
>
> Возможно ли как-то в скоуп засунуть помимо кода выборки, код посчета
> записей?
>
> Post.where('id < 100').my_scope(...) #=> [...]
>
> Post.my_count #=> 99
>
> Метод my_count - это просто метод аксессор для определенной переменной
> класса, которая хранит количество записей.
>
> my_count должен возвращать не количество записей возвращаемых
> последним методом в цепочке, а предыдущего, то есть where, в итоге,
> если в my_scope находится, например limit(10), а условию where('id <
> 100') соответствуют 99 записей, то my_count должен вернуть 99, а не
> 10.
>
> Спасибо за помощь!
>
> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы
> "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
>  Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror2ru@googlegroups.com
>  Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
> ror2ru-unsubscribe@googlegroups.com
>  Дополнительные варианты находятся на странице группы
> http://groups.google.com/group/ror2ru?hl=ru
>
>
>
> --
> Oleksiy Kovyrin
> http://kovyrin.net/
>
> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы
> "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror2ru@googlegroups.com
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
> ror2ru-unsubscribe@googlegroups.com
> Дополнительные варианты находятся на странице группы
> http://groups.google.com/group/ror2ru?hl=ru
>
> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы
> "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror2ru@googlegroups.com
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
> ror2ru-unsubscribe@googlegroups.com
> Дополнительные варианты находятся на странице группы
> http://groups.google.com/group/ror2ru?hl=ru

--
Oleksiy Kovyrin
http://kovyrin.net/

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий