的所有子元素我有如何摧毀一個關係
class List < ActiveRecord::Base
has_many :list_items
class ListItem < ActiveRecord::Base
belongs_to :list
我想選擇一個特定類型的所有名單,然後刪除所有相關list_items。我試過地圖和其他一些東西,但卡住了。
List.where('list_type_id=4').?
我知道這應該是一個單線,但?
THX
**編輯#1 **
SyntaxError: (irb):94: syntax error, unexpected tCONSTANT, expecting ')'
...ListItem.where('list_id = ?' List.where('list_type_id=4').id)....
... ^
(irb):94: syntax error, unexpected ')', expecting $end
...ist.where('list_type_id=4').id).destroy_all
... ^
也許像'List.where( 'list_type_id = 4')地圖(:list_items).flatten.destroy_all'? –
這看起來最接近但我得到這個錯誤消息:'NoMethodError:undefined method'destroy_all'for#';真的很激動; thx –
timpone
是的,這是有道理的。那麼你可以用'each {| li |替換'destroy_all' li.delete}'。 –