'Rails Routes :shallow => true
Wondering why my /articles route is not coming up when I apply :shallow => true?
routes.rb
resources :users, :shallow => true do
resources :articles
end
Also tried this:
resources :users do
resources :articles, :shallow => true
end
Visiting /articles won't show me all articles from any user as expected, but I can still visit /articles/:id just fine. Is this expected behavior?
Solution 1:[1]
The shallow: true option does not provide an index resource according to the docs. Therefore, you will not be able to access just /articles. So yes, this is the expected behavior.
Solution 2:[2]
Yes - anything with an ID (show, edit, update, destroy) doesn't need a parent to identify itself.
The other two (create, index), need the parent to scope the query.
You would need to create another resource
resources :articles, :only => [:index]
To see all articles
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | katericata |
| Solution 2 | Mark Swardstrom |
