我有一個非常簡單的形式,直到我嘗試並重新提交工作正常。在這之後,它更新記錄,而不是創建一個新問題:的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