Skip to content

Instantly share code, notes, and snippets.

@armandofox
Created July 8, 2021 23:31
Show Gist options
  • Save armandofox/efbf9f2aface69096919f771452daaa7 to your computer and use it in GitHub Desktop.
Save armandofox/efbf9f2aface69096919f771452daaa7 to your computer and use it in GitHub Desktop.
association1.rb
# it would be nice if we could do this:
inception = Movie.where(:title => 'Inception')
alice,bob = Moviegoer.find(alice_id, bob_id)
# alice likes Inception, bob less so
alice_review = Review.new(:potatoes => 4)
bob_review = Review.new(:potatoes => 3)
# a movie has many reviews:
inception.reviews = [alice_review, bob_review]
# a moviegoer has many reviews:
alice.reviews << alice_review
bob.reviews << bob_review
# can we find out who wrote each review?
inception.reviews.map { |r| r.moviegoer.name } # => ['alice','bob']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment