2016-04-15 56 views
0

我知道由於HTML規範的原因,「以表單的形式」無效。如何以其自己的形式保存另一個對象,但以第一個對象的形式保存?

所以,我的問題:有,例如,汽車模型,它是我在表單對象(它有很多額外的信息)的幫助下創建的形式。 但我的表單中有一處需要動態放置元素。例如,添加輪子。每個車輪都有自己的參數。流程是這樣的:我填充添加輪的形式的領域,觸摸'添加輪'按鈕和新的一輪添加到我的主要形式。

所以,你可以看到有兩個單獨的按鈕,但主要的形式是一個。 如何在Rails中實現這一點?

!我的解決方案:添加沒有具體的形式,但只是特定的車輪的領域,並只處理這與JS和AJAX。我點擊按鈕 - > jQuery從這個特定的字段捕獲數據 - >發送Ajax請求創建新輪子 - >返回創建輪子的html。 這是正確的方法嗎?

+0

你用AJAX的方式在正確的道路上。 – jvillian

回答

1

您可以使用accepts_nested_attributes_for這樣的:

class Car < ActiveRecord::Base  
    has_many :wheels, dependent: :destroy 
    has_many :seats, dependent: :destroy 

    accepts_nested_attributes_for :wheels, reject_if: :all_blank, allow_destroy: true 
    accepts_nested_attributes_for :seats, reject_if: :all_blank, allow_destroy: true 
end 

enter image description here

+0

單獨按鈕怎麼樣?據我所知,保存主對象時保存了nested_attrributes beign – Alexander

+0

亞歷克斯,據我瞭解,車輪總是屬於給定的汽車。所以我認爲保存沒問題。還是我誤會了?對於添加/刪除按鈕,您可以使用繭寶石。 –

+0

我添加了一張圖片,我如何在我的一個應用中使用它。 product_competition和produc_usecase作爲嵌套的attr產品表單。 –

相關問題