0
我有一個嵌套的表格結構如下:嵌套表格 - 阿賈克斯刪除
class List < ActiveRecord::Base
has_many :restaurants, :dependent => :destroy
end
class Restaurant < ActiveRecord::Base
belongs_to :list
end
我可以在我創建/編輯列表相同的形式添加餐廳項目特定列表。爲了嵌套列表形式我做了以下範圍內的餐飲項目:
<%= f.fields_for :restaurants do |builder| %>
<%= render 'restaurant_fields', f: builder %>
<% end %>
<%= link_to_add_fields "+ add to stack", f, :restaurants %>
的餐館場部分有一個鏈接刪除項目:這些行動
<%= link_to "remove stack item", '#', class: "remove_fields" %>
了jQuery(CoffeeScript的)如下:
jQuery ->
$('form').on 'click', '.remove_fields', (event) ->
$(this).prev('input[type=hidden]').val('1')
$(this).closest('fieldset').hide()
event.preventDefault()
$('form').on 'click', '.add_fields', (event) ->
time = new Date().getTime()
regexp = new RegExp($(this).data('id'), 'g')
$(this).before($(this).data('fields').replace(regexp, time))
event.preventDefault()
當我點擊刪除棧的項目,我想送一個Ajax請求,以使堆項目(餐廳)不只是從視圖中隱藏(見上文),而且日e實際記錄同時被刪除。你會如何建議我去做這件事?
看看這個http://railscasts.com/episodes/197-nested-model-form-part-2?view=asciicast這將是這些好的教程種類的東西 – abhas