2013-07-04 1 views
0

Я имею дело с некоторыми странными вещами. Я смотрю на request.env['recaptcha.valid'] специальный ключ, который я добавил в переменную запроса, доступную только для контроллеров Rails.Как повысить достоверность ошибок от контроллера Rails?

В зависимости от состояния вышеуказанной переменной, как я могу повысить ошибку проверки рельсов от контроллера Rails вместо того, чтобы иметь дело с этой логикой в ​​модели?

ответ

1

Посмотрите на before_filter, который может выбрать для рендеринга или перенаправления или просто установить некоторое внутреннее состояние (@captcha_failed = true) перед вызовом вашего действия.

Вы могли бы хотеть что-то вроде этого:

class MyController < ApplicationController 

    before_filter :check_captcha 

    # ... 

    protected 

    def check_captcha 
    if params[:captcha] != request.env['recaptcha.valid'] 
     redirect_to "index", notice: "Invalid captcha" 
    end 
    end 

end 
Смежные вопросы