Sean Hussey
2006-Jun-07 08:46 UTC
[Rails] Refreshing remote :through associations with deletes
Hi everyone,
I''m refreshing the local Rails database from a remote database every
10 minutes. I''m using a :through association to relate people to
mailinglists through subscriptions.
# Works fine, every 10 minutes:
remote_lists.each { |list| List.find_or_create_by_name(list.name) }
remote_subscribers.each do |subscriber|
person = Person.find_by_email(subscriber.user)
unless person.nil?
Subscription.find_or_create_by_person_id_and_mailinglist_id(person.id,
local_list.id)
end
end
remote_lists.each do |list|
local_list = Mailinglist.find_or_create_by_name(list.list)
subscribers
MailinglistSubscriptionRemote.find_all_by_list_subscriber(local_list.name)
if subscribers.size > 0
subscribers.each do |subscriber|
person = Person.find_by_email(subscriber.user)
unless person.nil?
Subscription.find_or_create_by_person_id_and_mailinglist_id(person.id,
local_list.id)
end
end
end
end
What I need to do is make sure that if blah@blah.com unsubscribes from
a list, the associated Subscription is removed. I know I''m not
accounting for that here. How should I do that?
Thanks!
Sean
