Последние запросы вернут пустой ответ, так как условие id = $pk противоречит условию limit 1, 1. Если только в таблице нет нескольких записей с одним id. Или я чего-то не понимаю?
Если при переходе с index на view передать дополнительным параметром порядковый номер записи в текущем отображении на странице, посчитанный с помощью js или указанный при генерации страницы (с учетом пагинации) то не придется вообще искать этот номер и можно будет использовать «LIMIT row_number, 1» для поиска текущей записи. А для ссылок сделать ±1 к этому параметру.
Да, выборка текущего элемента будет осуществляться не по первичному ключу, однако исчезает необходимость искать id соседних записей.
> А кроме всего прочего, посмотрите сюда — Вы об этом «забыли» упомянуть в статье или не считаете это важным?
Ради интереса прогнал этот же тест на ruby 1.9.2, со стандартной реализацией Symbol#to_proc. Теперь могу сказать, что такая запись не только короче и приятнее взгляду, но и работает быстрее pastie.org/1453436
По-моему, самым прозрачным вариантом подключения плагина будет
module PluginName
def self.included(base)
base.extend(ClassMethods)
base.class_eval do
include InstanceMethods
end
end
module ClassMethods
end
module InstanceMethods
end
end
При этом не нужно дергать AR::Base и подключение методов экземпляра происходит до вызова acts_as_something
Спасибо за статью, получилось конечно все не сразу, но эта статья очень помогла мне)))
больше всего мучался с поддержкой mysql, так что если у кого из новичков, как я, возникнут вопросы на эту тему -обращайтесь..)
Да, выборка текущего элемента будет осуществляться не по первичному ключу, однако исчезает необходимость искать id соседних записей.
Ради интереса прогнал этот же тест на ruby 1.9.2, со стандартной реализацией Symbol#to_proc. Теперь могу сказать, что такая запись не только короче и приятнее взгляду, но и работает быстрее
pastie.org/1453436
При этом не нужно дергать AR::Base и подключение методов экземпляра происходит до вызова acts_as_something
больше всего мучался с поддержкой mysql, так что если у кого из новичков, как я, возникнут вопросы на эту тему -обращайтесь..)