0
我有一個典型的「創建」窗體操作,它被設置爲遠程調用。Rails遠程窗體,創建後替換
我想要做的是在提交表單後,將表單替換爲帶有額外表單字段的「編輯」視圖,這樣一旦他們提交了第二個表單,它就會更新而不是創建新記錄。
所以基本上,表格會從「創建」更改爲「編輯」...但都通過ajax調用。
我正在運行Rails 3.2。
我有一個典型的「創建」窗體操作,它被設置爲遠程調用。Rails遠程窗體,創建後替換
我想要做的是在提交表單後,將表單替換爲帶有額外表單字段的「編輯」視圖,這樣一旦他們提交了第二個表單,它就會更新而不是創建新記錄。
所以基本上,表格會從「創建」更改爲「編輯」...但都通過ajax調用。
我正在運行Rails 3.2。
,如果你想只是行爲,你可以在你的控制器刪除任何東西你讓一個AJAX POST到/resources
def create
...
# you set @resource to be used in edit form
@resource = Resource.create params[:resource]
respond_to do |format|
# tell controller to respond to requests with JS format
format.js
end
...
end
其實。
def create
...
# you set @resource to be used in edit form
@resource = Resource.create params[:resource]
...
end
請務必與JS格式POST:
<%= form_for @resource, format: :js %>
文件create.js.erb
由控制器提供服務,並通過瀏覽器運行。
$(selector).html("<%= escape_javascript(render 'edit') %>")
您必須根據您在頁面中使用新表格的內容來定義selector
。
文件_edit.html.erb
在以前的文件中內聯呈現
<%= form_for @resource, remote: true do %>
...
你可以讓你的行動來響應JS和添加create.js.erb,並添加有像'$(「#new_product_form」)。HTML( '<%= escape_javascript(render(「edit_product_form」))%>');'。 – 2013-05-08 00:00:20