Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Notification < ActiveRecord::Base
- has_and_belongs_to_many :users
- def user_ids=(ids)
- # Удаляем все старые связи
- self.users.clear
- # Если есть новые связи, то добавляем их
- if ids.size > 0
- rows = [:notification_id, :user_id]
- data = []
- ids.each { |u_id| data << [id, u_id] }
- # Вся магия кроется в методе import.
- # В результате это будет один SQL-запрос, который выполнится в разы быстрее,
- # чем тот забор, который городит ActiveRecord.
- NotificationsUser.import rows, data
- end
- end
- end
Add Comment
Please, Sign In to add comment