2016-11-05 6 views
0

Необходимо произвести следующие маршруты вРельсы Маршруты Формат

/:owner_name/articles 
/:articles/:id 
/owners 
/:owner_name 

Я попытался, как,

resources :owners, param: :owner_name, path: '', shallow_path: "", only: [:index, :show] do 
resources :articles, only: [:index,:show] 
end 

Но я не в состоянии воспроизвести тот же

ответ

0

Может быть, это не Лучшее решение, но вы можете попробовать следующее:

Он производит

Prefix  Verb URI Pattern      Controller#Action 
    article  GET /articles/:id(.:format)   articles#show 
    owners  GET /owners(.:format)    owners#index 
owner_articles GET /:owner_name/articles(.:format) articles#index 
    owner  GET /:name(.:format)    owners#show 

UPDATE

Код выше имеет :name параметр вместо :owner_name для owners#show маршрута (если это имеет значение для вас).
Можно попытаться определить параметры вручную, как

resources :articles, only: :show 
resources :owners, only: :index 
get '/:owner_name', to: 'owners#show' 
get '/:owner_name/articles', to: 'articles#index' 

Это даст вам

Prefix Verb URI Pattern      Controller#Action 
article GET /articles/:id(.:format)   articles#show 
owners GET /owners(.:format)    owners#index 
     GET /:owner_name(.:format)   owners#show 
     GET /:owner_name/articles(.:format) articles#index 
Смежные вопросы