У меня есть следующий код:
<% @photos = Photo.where(:photo_album_id => storyitem.feeded_id).limit(4) %>
<%= link_to 'Image Set', project_photo_album_path(storyitem.project, @photos.first.photo_album_id) %>
В своих логах я вижу:
Photo Load (0.4ms) SELECT "photos".* FROM "photos" WHERE ("photos"."photo_album_id" = 72) ORDER BY photos.created_at DESC, photos.version DESC LIMIT 1
Photo Load (0.7ms) SELECT "photos".* FROM "photos" WHERE ("photos"."photo_album_id" = 72) ORDER BY photos.created_at DESC, photos.version DESC LIMIT 4
После отладки именно link_to генерирует дополнительное попадание в базу данных, хотя первое попадание для 4 записей находит первый запрос, который мне нужен для link_to.
Есть ли способ предотвратить попадание этого запроса в базу данных 2 раза. Мне нужен только запрос, который получает ограничение 4, которое должно дать приложению всю необходимую информацию.
Мысли
UPDATE:
Я также хотел бы иметь возможность вывести следующее:
<%= @photos.first.photo_album.title %>
но это снова попадает в базу данных. Любой способ попасть в базу данных только один раз для всего вышеперечисленного? thxs