我有一個Post
類,其中has_many: :widgets
。如何通過ajax創建還沒有持久關聯的新對象?
在這篇文章的編輯頁面上,用戶可以添加小部件到帖子(視頻,圖片,tweet,html塊),然後保存帖子。
我原本打算使用nested_attributes_for
,但有幾個理由我不想這樣做。
相反,我選擇使用ajax實時創建小部件。
這是我的,我試圖達到的理想的工作流程的僞解釋:
- 用戶點擊「新郵報」上的前端,並在後端
Post.new
被實例化 - 用戶點擊一個表示
add tweet widget
的按鈕,以及ajax稱爲調用的端點Widget.create(widget_params)
- 用戶繼續添加小部件。
- 用戶保存該帖子,
@post
變爲持續。 - 所有這些地方加入後,如果用戶退出之前保存的頁面得到適當的分配給後
- 小部件,舊部件得到由後臺作業
的問題是,清理我需要這樣做,以便在創建窗口小部件時,每個窗口小部件都被分配到尚未保存的發佈。
我知道一個選項是create
每次點擊「新帖子」時都會有一個新帖子,然後通過後臺工作來清理所有死者,但我不想這麼做。
我看了一個Railscast video關於嵌套的屬性,它看起來像他在做類似的事情(通過生成一個隨機ID或東西,然後使用新的對象object_id
),但我不明白它會足夠(或所有)在我目前正在做的事情上實現它。
任何解釋如何做到這一點,將不勝感激。謝謝!
爲什麼你不想使用嵌套屬性? – Doguita 2014-09-25 00:43:55
看看繭寶石。它使構建動態的Ajax表單非常簡單。然後,您可以保存帖子,然後保存小部件。如果用戶退出既不持續也不需要後臺工作。 – engineersmnky 2014-09-25 01:38:11
Coccoon和STI一起工作嗎? – Tallboy 2014-09-25 02:36:07