でモデルの全てのデータは、我々は持っている:更新例えばレール
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...})
もちろん、ブックにはネストされたモデルがいくつかあります。
ご意見はありますか? P.P.現在、私はいくつかの親を持つことの唯一のアイデアを持っているし、そのための更新を行う...
残念ながら、ActiveRecordはすべてを行うことはできませんが、間違っている可能性はありますが、もう一度お願いします。私は多形体+ STIで作業するのが難しいので、ARについて私自身の悩みがあるので、あなたの気持ちを知っています! しかし、ハッシュを反復処理し、適切な場合には/ updates/destroysを作成するコードを書くのは難しくありません。あなたはActiveRecordの機能を拡張する宝石にすることができます。 – JamesDS