performed?
прибыль метода true
в диспетчере, если применение перенаправило или отдало.
Как я могу определить, отдало ли применение (а не перенаправленный)?
Оценка от performed?
доктора, я могу посмотреть на @performed_render
, но это кажется hacky.
Я пытаюсь припрятать продукцию про запас действия диспетчера только в случае, что это приводит к отдаванию (и не перенаправление). Вот код, который я использую теперь: (на основе отданный припрятавшего про запас)
def render_with_cache(options = {})
key = ([request.request_uri, request.format] | (options.delete(:key_additions) || [])).join("::")
body = Rails.cache.read(key)
if body
render :text => body
else
yield if block_given?
render unless performed?
if @performed_render
Rails.cache.write(key, response.body, options) # :expires_in
end
end
end
посмотрите @Performed_Render
. :) Вы не объясняете Почему Вам нужно обнаружить это, поэтому я не могу предложить альтернативные решения.
В after-фильтре проверьте коды статуса ответа .
MyController < ActionController
after_filter :check_response
# define your actions that render or redirect
protected
def check_response
# put real app logic here
puts :rendered! if response.status == "200 OK"
puts :redirected! if response.status == "302 Found"
end
end