0
lending_restricted:boolean
カラムを持つCompany
モデルがあります。 制限に関するリストはrestricted_codes
メソッドによって収集されます。Railsで複数のインスタンスを効率的に更新するには
そして唯一の必要な企業を更新するためには、私はこのように書いている:それは基本的に正常に動作しますが、私は感じて
old_codes = Company.where(lending_restricted: true).pluck(:code)
new_codes = restricted_codes
(new_codes - old_codes).each do |code|
c = Company.find_by(code: code)
c.try(:update_attributes, lending_restricted: true)
end
(old_codes - new_codes).each do |code|
c = Company.find_by(code: code)
c.try(:update_attributes, lending_restricted: false)
end
それは同様の機能を2回書くことが少し冗長です。 このようなメソッドを書く方が良いでしょうか?
restricted_codes
の数は約100で、私のRailsプロジェクトには約4000社があります。