My Narify app currently has a list of sample narrations as an unordered list. At this point I want to add a
Listen link, which will navigate to the narration’s corresponding page. So… where to start? I think I’ll need to define the
#show method in the Narrations controller, and make available the narration in question as an instance variable, like
@narration = Narration.find(params[:id]).
Now let’s update the route file with
get '/narrations/:id' => 'narrations#show', as: :narration. This should let me use the
link_to thingy, or let a user type a URL with an id.
At this point I’d like to test that the route works and will display a narration. So I’m going to create a new file in
app/views/narrations/show.html.erb and insert some code. Here it is:
The only way to get here is go to
narify.com is my localhost and
1 is just some id. I only have two sample records in my database, so there’s only
2. Let’s add a link to the list on my homepage.
I honestly had a hell of a time getting that
link_to bit to work. The Rails Routing from the Outside In instructions made it seem like the correct route would have been
link_to 'Listen', narration_path(@narrations) or even the shorthand
link_to 'Listen', @narrations, but I’m not sure in what situation I’d use that convention.
Let’s add another link, this time on the
/narrations/:id page; something like
link_to 'Back to Narrations', root_path. Maybe that’ll work. Let’s see.
And that works. I can go back and forth. Not sure what to do next, but I’ll figure that out another day.