如果输入验证码正确,它会在更新前验证或创建记录 我的代码将我带回到上一页,但所有输入数据都消失了...... 如何保留上一页输入的输入数据?
我想使用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
答案 0 :(得分:1)
发生验证错误时,您不应重定向页面,只需使用输入模板渲染即可。
答案 1 :(得分:1)
方法1:
理想情况下,您应该具有从edit
和new
视图呈现的公共更新/创建表单部分。使用这样的设计,您可以使用局部参数渲染该常见部分以再次填充表单。这些值与您在提交表单后收到的操作相同。
方法2:
使用ajax提交表单。在提交之前,请对simple_captcha_check
进行ajax调用,如果表单返回成功,最后会提交表单。