如果验证错误,我如何保留输入数据?

时间:2012-12-22 06:50:19

标签: ruby-on-rails ruby-on-rails-3

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

我想使用before_filter并应用这两个动作'update'和'create'

控制器

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

2 个答案:

答案 0 :(得分:1)

发生验证错误时,您不应重定向页面,只需使用输入模板渲染即可。

答案 1 :(得分:1)

方法1:

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

方法2:

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