Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby Build a Rails API Coding the API Namespacing Review

Hideto Yasunori
Hideto Yasunori
9,079 Points

Now add a v2 namespace. It should also contain todo_lists and todo_items resources, nested in the same way as the v1 nam

Now add a v2 namespace. It should also contain todo_lists and todo_items resources, nested in the same way as the v1 namespace.

Can you help me what is wrong? Thank you.

routes.rb
Rails.application.routes.draw do
  namespace :api do
    namespace :v1 do
       namespace :v2 do
         resources :todo_lists do
            resources :todo_items do
             member do
               patch :complete
             end
            end
          end
       end
    end
  end
end

2 Answers

Daniel Vigil
Daniel Vigil
26,473 Points

You need to have two additional resources of todo_lists and todo_items in a namespace of v2:

v1 resource resource v2 resource resource

And do not forget to end the statements.

Hideto Yasunori
Hideto Yasunori
9,079 Points

Thank you Daniel! It now works!

Kevin Elliott
Kevin Elliott
15,653 Points

Also, the initial code here has v2 nested inside of v1. They should be parallel to each other in the block levels. In other words, this creates v2 underneath v1, when ideally they should be at the same level.