我有一个非常简单的形式,直到我尝试并重新提交工作正常。在这之后,它更新记录,而不是创建一个新问题:的Rails 3 - 指定窗体操作远程表后提交
在我看来,我有这样的:
#new_order_form
= render 'form'
而且我的窗体部分:
= semantic_form_for [@location, @order], :remote => true do |f|
-if @order.errors.any?
#notice{:class=>'alert alert-block alert-error fade in'}
%a{:class=>"close", :data=>{:dismiss=>"alert", :href=>"#"}}
x
%h3
= pluralize(@order.errors.count, "error")
- @order.errors.full_messages.each do |msg|
= msg
%br
%table{:class => 'table table-bordered', :style=> {width: '50%'}}
%tr
%td= f.text_field :product_order_id, :placeholder => "Order ID"
在我的创造。 JS:
$("#new_order_form").html("<%= escape_javascript(render("form")) %>");
如果存在的话也能正常工作,以创建订单并呈现错误。
的问题是:如果我进入其他订单号码而无需刷新页面,它会更新而不是创建一个新的先前创建的记录。
望着形式的代码,我可以看到提交操作替换为更新。
我试图用它来取代代码:
= semantic_form_for [@location, @order], :remote => true do |f|
#new_order_form
= render 'form', :f => f
而这create.js
$("#new_order_form").html("<%= escape_javascript(render :partial => 'form', :locals => {:f => @order}) %>");
不工作或者和抱怨无效text_field。
这样做的最好方法是什么?谢谢
是否可以发布控制器的创建动作?意见似乎不错,看起来像真正的罪魁祸首是控制器的行为。 –
是的,谢谢。将在几个发布。已经玩过,但仍然无法让它工作。只需确认,@order_new应该在xxxx.save部分之内? – simonmorley