0

我正在处理一些奇怪的事情。我正在查看request.env['recaptcha.valid']一个特殊键,我添加到仅适用于 Rails 控制器的请求变量中。

根据上述变量的状态,如何从 Rails 控制器引发 Rails 验证错误,而不是在模型中处理此逻辑?

4

1 回答 1

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
于 2013-07-04T18:24:47.370 回答