如何从Rails控制器中提出validation错误?

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

根据上述变量的状态,如何从Rails控制器中提出railsvalidation错误,而不是在Model中处理这个逻辑?

查看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