ajax保存表单,jquery – AJAX表单(使用simple_form)保存错误验证

这可能是我提出的更困难的问题之一,但是我已经停留了几天,我认为最好从更有经验的铁路社区获得支持。

我在工作的一个虚拟应用程序,遵循这个指南大概… ajax/jquery tutorial …

该指南帮助我创建了一个“品牌”(包括嵌套模型“模型”,“子模型”和“风格”)提交表单(使用simple_form)和品牌列在同一页面上。 ,并且验证(对于我的模型)是强制的..但是,当我把表单和品牌列表在同一页面上,我失去了在提交失败时出现的整齐的内联验证错误(见下图)。无法获得内联错误的工作使我意识到我有更多的了解渲染..这就是为什么我固定在找到这个问题的答案

…这里是列表:

下面是索引操作的控制器:

def index

#This is for the product listing

@brands = Brand.all.reverse

#This is for the form

@brand = Brand.new

@model = Model.new

@submodel = Submodel.new

@style = Style.new

respond_to do |format|

format.html

end

end

上述表单创建了嵌套提交表单中使用的品牌,模型,子模型和样式…以下是表单的代码:

{ :class => 'form-horizontal' },:remote => true do |m| %>

'Brand' %>

'Model' %>

'Submodel' %>

'Style' %>

'btn btn-primary' %>

'btn' %>

现在你可以看到我在使用:remote =>真的…我希望表单创建新的“品牌”,或者为表单重新加载内联验证错误。目前我的创作动作看起来像:

def create

@brand = Brand.new(params[:brand])

respond_to do |format|

if @brand.save

format.html { redirect_to brands_url,notice: 'Brand was successfully created.' }

format.json { render json: @brand,status: :created,location: @brand }

format.js

else

format.html { render action: "index" }

format.json { render json: @brand.errors,status: :unprocessable_entity }

format.js { render 'reload' }

end

end

end

if @ brand.save下的代码似乎正常工作,但是下面的代码“else”不符合我的要求。那么当@brand不保存时会发生什么?我相信索引操作中的代码正在运行,然后@ brand.errors被转换为json(我假定是为simple_form验证错误),然后reload.js.erb正在运行。

为了重新加载表单(带有验证错误),我已经把行$(“#entryform”)。load(location.href“#entryform> *”,“”);进入reload.js.erb …当我将无效数据放入我的表单reload.js.erb被调用时,但是发生的一切就是表单域重新加载空白,而不是输入数据和内联验证错误。

我希望我在这里提供了足够的信息来获得帮助..真的很挣扎在这一个。谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值