【发布时间】:2014-01-23 09:01:15
【问题描述】:
我有一个多部分表单,最后我需要一个验证码。本质上,用户可以创建/更新草稿,但在一切完成之前不能提交给管理员审查。最后一次提交有一个验证码,但问题是当我将它添加到表单时,我不能使用任何其他提交按钮,因为验证码没有填写。有没有办法解决?
我正在使用 simple_captcha 和 Rails 3.2。
谢谢!
【问题讨论】:
标签: ruby-on-rails forms captcha
我有一个多部分表单,最后我需要一个验证码。本质上,用户可以创建/更新草稿,但在一切完成之前不能提交给管理员审查。最后一次提交有一个验证码,但问题是当我将它添加到表单时,我不能使用任何其他提交按钮,因为验证码没有填写。有没有办法解决?
我正在使用 simple_captcha 和 Rails 3.2。
谢谢!
【问题讨论】:
标签: ruby-on-rails forms captcha
我以前没有使用过 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 中?方法,您将检查表单的所有必填字段是否不为空/nil 等。
【讨论】: