Do you need more practice to understand the difference between “includes”, “preload”, “eager_load” and “joins”?
Here you will find a set of exercises to help you understand how you can use this 4 methods.
You can find the code on bhserna/preloading_quiz
This is are the exercises for the post Examples to learn the difference between preload, includes or eager_load, you can find the answers there.
On /exercises
you will find a list of exercises with:
You should provide a way to fetch the records.
For example:
puts "-----------------------------"
puts "TASK"
puts "1. Fetch all acomodations preloading rooms (with includes)"
puts "-----------------------------"
# accomodations = ?
# display_with_rooms(accomodations)
Create a postgres database with createdb preloading_quiz
. As
you can see the in db/config.rb
the name of the database is hardcoded, so
you will need to create a database with that name.
Install the dependencies with bundle install
.
Run the seeds with ruby db/seeds.rb
. You can also update the data that
you want to use, there.
Run the exercises with ruby exercises/01.rb
, etc…
Making things work isn't enough for you any more? Now you need to consider performance and scalability?
... But you normally have troubles fixing n+1 queries and trying to find why active record is ignoring your "includes"?
Are you are worried because you feel unqualified to tackle tasks with complex data models?
Sign up to learn how to fix n+1 queries on Rails