У меня возникают проблемы с ответом JSON на запрос json, но активировано кэширование действий.
У меня довольно простой контроллер, который отвечает как на JSON, так и на HTML, а кеширование отлично работает для ответа HTML, но я заметил, что когда я запрашиваю JSON и обычно отвечаю с JSON, но с включенным кешем действия он переносит вывод JSON в макете!
Когда я очистил кеш, это дает мне ошибку, которая не существует по умолчанию:
АргументError в ClipsController # index
Не было шаблона по умолчанию для ClipsController в...
Как вернуть JSON для кешированного действия?
UPDATE, я подозреваю, что ошибка в макете связана с тем, как я кэширую действия:
caches_action :index, :layout => false
Я не уверен, однако, почему в случае ответа JSON все равно потребуется макет, так как без кеширования проблем нет.
временно я изменил фильтр кэша, чтобы не кэшировать запросы JSON, но это не идеальная работа, что мне делать, если я хочу кэшировать JSON?
caches_action :index, :layout => false, :if => Proc.new { |c| !c.request.format.json? }