При использовании фрагментов кэша в моих представлениях, как мне избежать вызова активной записи в контроллере? - PullRequest
1 голос
/ 25 февраля 2011

У меня есть ситуация, когда:

View:
<%= cache 'some_key' do %>
<%= @some_collection %>
<% end %>


Controller:
def show
 unless Rails.cache.read 'some_key' 
   @some_collection = expensive_query_goes_here 
 end
end

Кажется, правильнее было бы поставить условное выражение, чтобы предотвратить выполнение дорогостоящего вычисления @some_collection в контроллере при наличии ключа кеша.

Следовательно, почти для каждого блока кеша, на мой взгляд, в контроллере должно быть соответствующее условие, чтобы проверить, существует ключ кеша или нет. Один из способов избежать этого - поместить дорогую логику запросов в блок кеша в представлении (чёрт!).

Это как большинство людей подходят к этому? Кажется, это очень грязно.

1 Ответ

0 голосов
/ 25 февраля 2011

Использование action caching

http://guides.rubyonrails.org/caching_with_rails.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...