0

如果输入验证码正确,它会在更新或创建记录之前进行验证。
我的代码将我带回上一页,但所有输入数据都消失了……如何保留在上一页输入的输入数据?

我想使用 before_filter 并应用这两个动作“更新”和“创建”

控制器

before_filter :simple_captcha_check, :only => [:update, :create] 

def simple_captcha_check
    if !simple_captcha_valid?
        flash[:error] = 'Wrong Captcha!'
        redirect_to :back
    end
end
4

2 回答 2

1

当验证错误发生时,您不应该重定向页面,您应该只使用输入模板进行渲染。

于 2012-12-22T06:54:59.273 回答
1

方法一:

理想情况下,您应该有一个从视图editnew视图呈现的通用更新/创建表单部分。通过这样的设计,您可以使用本地参数渲染该公共部分以再次填写表单。这些值与您在提交表单后收到的操作相同。

方法二:

使用 ajax 提交表单。在提交之前,进行 ajax 调用,simple_captcha_check如果返回成功,最后提交表单。

于 2012-12-22T07:35:00.350 回答