Я работаю над функцией сохранения запросов, сделанных для определенных конечных точек, в моем приложении.
after_action :record_user_activity
def record_user_activity
return unless current_user
return if request.url =~ /assets|packs/
@session.navigation.create!(
uri: request.url,
request_method: request.method,
response_status: response.code.to_i,
access_time: Time.now
)
end
Проблема в том, что даже если мы получим ответ об ошибке, при получении response.code
в этот момент (after_action
), код ответа по-прежнему 2xx. Я предполагаю, что это, вероятно, потому что сервер еще не столкнулся с какой-либо проблемой, с которой он может столкнуться в процессе доступа к данным.
Как правильно сохранить код состояния, который на самом деле был отправлен пользователю?