【问题标题】:How to keep changes in form after failed update更新失败后如何保持表单更改
【发布时间】:2016-08-29 00:45:31
【问题描述】:

我有一个使用Simple-Captcha 的非常标准的Ruby-on-Rails 表单。以下更新方法仅在验证码输入正确的情况下更新属性:

@place = Place.find(params[:id])
if simple_captcha_valid?
  @place.update_attributes(params)
else
  flash.now[:danger] = 'Captcha not valid!'
  render :edit
end

当发送了错误的验证码时,表单会使用原始模型属性重新呈现(更改会被覆盖)。在这些情况下,如何保留表单中的更改?

【问题讨论】:

    标签: ruby-on-rails forms model-view-controller captcha


    【解决方案1】:

    您需要使用您想要保留的任何参数重新初始化您的@place 对象。像这样的:

    if simple_captcha_valid? @place.update_attributes(params) else @place.assign_attributes(params) flash.now[:danger] = 'Captcha not valid!' render :edit end

    【讨论】:

      猜你喜欢
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2016-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多