2013-12-11 3 views
0

У меня есть базовый класс пользователя, и каждый пользователь имеет несколько has_one ассоциаций с другими объектами (учетная запись, профиль и т. Д.). Я мои маршруты вложенными как таковой:Rails inested singleton routing

resources :users do 
    resource :account 
    resource :profile 
end 

И это дает мне соответствующие маршруты:

 user_profile POST /users/:user_id/profile(.:format)  profiles#create 
    new_user_profile GET /users/:user_id/profile/new(.:format) profiles#new 
    edit_user_profile GET /users/:user_id/profile/edit(.:format) profiles#edit 
        GET /users/:user_id/profile(.:format)  profiles#show 
        PATCH /users/:user_id/profile(.:format)  profiles#update 
        PUT /users/:user_id/profile(.:format)  profiles#update 
        DELETE /users/:user_id/profile(.:format)  profiles#destroy 

Но я хочу, вошедшего в систему пользователя, чтобы иметь возможность получить доступ к своим принадлежащих объектам через URL, как это :

/settings/profile 
/settings/account 
...etc 

Как мне настроить маршруты для этого?

ответ

1

Используйте этот код в ваш routes.rb:

resources :users 
resource :account, path: 'settings/account' 
resource :profile, path: 'settings/profile'