Because that’s a reference to the database column in your migration. That line basically says, “When the :next_chapter method is called, return the chapter that lists this one as its :previous_chapter.”
You could set up the migration to store the next chapter instead of the previous one. It’s the same process. I just thought it makes more sense this way because when you create a chapter, the previous one probably exists already, whereas the next one might not.
guides.rubyonrails.org/association...
Thanks Brian for the reply!
Why is the
foreign_key
theprevious_chapter_id
and not something likenext_chapter_id
?Because that’s a reference to the database column in your migration. That line basically says, “When the
:next_chapter
method is called, return the chapter that lists this one as its:previous_chapter
.”You could set up the migration to store the next chapter instead of the previous one. It’s the same process. I just thought it makes more sense this way because when you create a chapter, the previous one probably exists already, whereas the next one might not.
Ahhh clever, thanks Brian for the help. I implemented this method and it worked as you described it :)