0
如何通過rails中的輸入標記移除有很多關係?Rails窗體移除有很多關係
我有一個名爲發票的模型。
has_many :expenses
我想這,刪除所有相關型號的發票:
input name="invoice[expense_ids][]" value=""
但似乎沒有工作。輸入標籤在更新操作中使用正確格式的update_attributes函數的正確方法是什麼?
如何通過rails中的輸入標記移除有很多關係?Rails窗體移除有很多關係
我有一個名爲發票的模型。
has_many :expenses
我想這,刪除所有相關型號的發票:
input name="invoice[expense_ids][]" value=""
但似乎沒有工作。輸入標籤在更新操作中使用正確格式的update_attributes函數的正確方法是什麼?
我如何做到這一點是在控制器
invoice.expense_ids = [] if invoice.persisted?
invoice.update_attributes(params[:invoice])
哪個更新記錄之前,將基本消除任何費用的關聯,所以現有的將重新加入或者有沒有傳入這將是空白。
的時間越長的方式來做到這一點是基本消除任何不再數組
ids = invoice.expense_ids
ids = ids.keep_if{|i|, params[:invoice][:expense_ids].include?(i)}
invoice.expense_ids = ids
感謝完美的作品+好主意英寸你爲什麼使用invoice.persisted?要更新的記錄通常已經存在,或者? – Hendrik 2013-03-27 09:42:37
是的,這是我的不好我通常使用相同的控制器更新/創建(幹猜我猜) – 2013-03-27 15:56:33
你有這樣的控制器的例子嗎?我會對閱讀該代碼非常感興趣。謝謝。 – Hendrik 2013-03-27 21:51:14