我有一个多部分表单,我最后需要一个验证码。从本质上讲,允许用户创建/更新草稿,但在完成所有操作之前不会将其提交给管理员审核。有一个验证码用于上次提交,但问题是,当我将其添加到表单时,我不能使用任何其他提交按钮,因为验证码没有填写。有没有办法解决?
我正在使用simple_captcha
和Rails 3.2。
谢谢!
答案 0 :(得分:0)
我之前没有使用过simple_captcha,但似乎你在每种情况下都在做@object.save_with_captcha
。你有多种方法可以解决这个问题,但我想出的是:
在控制器中,验证是否填写了所有字段(仅限我猜),如果是,则使用@object.save_with_captcha
保存对象,否则执行通常的@object.save
不会触发验证码验证。像这样:
def create
@object = MyObject.new(params[:my_object])
if @object.has_mandatory_fields_filled?
@object.save_with_captcha
else
@object.save
end
end
在has_mandatory_fields_filled中?您将检查表单的所有必填字段是否为空/无等等。