Например, у нас есть:
class PublicLibrary < ActiveRecord::Base
has_many :books
end
class Book < ActiveRecord::Base
belongs_to :public_library
end
Если мы хотим обновить все книги в PublicLibrary, мы можем добавить в модель PublicLibrary
accepts_nested_attributes_for :books, :allow_destroy => true, :reject_if=>:all_blank
И теперь мы можем сделать что-то вроде этого
library=PublicLibrary.find(ID)
library.update_attributes(:books_attributes=>{<bunch of books here>})
И все связанные книги будут обновлены, некоторые книги будут удалены, а некоторые новые книги будут вставлены в настольные книги.
Теперь у меня есть модельная книга, не имеющая отношения к PublicLibrary:
class Book < ActiveRecord::Base
end
У меня есть панель администратора, которая показывает все книги в одной большой таблице, и я хочу обновлять/удалять/вставлять новые книги одним щелчком мыши, поэтому я хочу что-то вроде
Book.bulk_update({...books...})
Или работать с подмножеством (не уверен, что мне это действительно нужно, но если мы можем это сделать... почему бы не знать как?)
books_to_update=Book.where(...).bulk_update({...books...})
Конечно, Book может иметь несколько вложенных моделей.
Есть ли у вас какие-либо идеи? P.S. В настоящее время у меня есть только идея иметь какого-то родителя и обновить его...