Rails3 - Как отрендерить 403 в before_filter без ошибки DoubleRender

У меня есть before_filter, который проверяет действительность ключа API. Если ключ недействителен, я хотел бы отобразить ответ 403 только с заголовком.

В моем контроллере:

before_filter :validate_api
...
def validate_api
  if params[:api_key].present? and ApiKey.find(params[:api_key])
    return true
  else
    render head :forbidden
  end
end

Проблема в том, что я получаю ошибку DoubleRender, предположительно, когда Rails переходит в действие и все равно пытается отобразить ответ. Насколько я понимаю, Rails предотвращает выполнение действия, если before_filter отображает или перенаправляет. Разве это не так?

Как отобразить ответ, содержащий только заголовок, в фильтре before_filter и предотвратить выполнение действий?

6
задан Bryan Marble 10 November 2011 в 19:43
поделиться