I’m trying to create default seed records for every user that signs up to the app. I’m thinking I could use the after_create method in my users observer model:
def after_create(user)
user.recipes.create(:name => "Sample Recipe", :description => "This is a sample recipe.")
user.cuisines.create(:name => "Sample Cusine", :description => "This is a sample cuisine.")
...
end
Is that too resource-intensive if I have 10 models that need seed data upon signup? Is there a more efficient way?
You’re doing this the correct way, and here’s why:
Personally, I’d probably skip the added abstraction and complexity of putting it in the observer, because I’d want it obvious upon reading through the model that this is happening. But that’s personal preference, and there’s nothing wrong with how you’ve set it up here.