2015-01-11 6 views
1

Я хочу этот путь, я думал, что могу создать пространство имен с помощью разработки, но не могу понять, как это сделать?Пространство имен для создателя пользователя

пользователей /: user_id/счет /: bills_id

У меня есть следующие настройки маршрутов для пользователя.

#User routes 
    devise_for :users, controllers: {registrations: "users/registrations", sessions: "users/sessions" } 

    get "https://stackoverflow.com/users/LeastDefender_dashboard" => "users/dashboard#index", as: :users_main 
    get "https://stackoverflow.com/users/why_choose_LeastDefender" => "users/landing#index", as: :users_why 

    namespace :users do 
    resources :landing, only: [:index, :show] 
    resources :bills 
    resources :dashboard 
    get 'landing', to: 'landing#index' 
    get 'dashboard', to: 'dashboard#index' 
    end 

Как это сделать?

пользователей /: user_id/счета /: bills_id

Когда я разгребать маршруты я получаю это:

users_bills  GET /users/bills(.:format)     
users/bills#index POST /users/bills(.:format)     users/bills#create 
new_users_bill  GET /users/bills/new(.:format)    users/bills#new 
edit_users_bill GET /users/bills/:id/edit(.:format)   users/bills#edit 
users_bill   GET /users/bills/:id(.:format)    users/bills#show 
        PATCH /users/bills/:id(.:format)    users/bills#update 
        PUT /users/bills/:id(.:format)    users/bills#update 
        DELETE /users/bills/:id(.:format)    users/bills#destroy 
+0

или я могу получить это за тот же эффект/users/bills /: id Мне нужна информация о счетах, чтобы быть конкретным для каждого пользователя, поэтому, когда я делаю индекс, он показывает только, что счета пользователей. У меня уже есть или мне нужно указать пользователя? Я смущен. – SupremeA

ответ

0

Try:

devise_for :users ... 

resources :users do 
    member do 
    resources :bills 
    end 
end 

Это дает следующие маршруты:

        bills GET /users/:id/bills(.:format)            bills#index 
             POST /users/:id/bills(.:format)            bills#create 
           new_bill GET /users/:id/bills/new(.:format)           bills#new 
           edit_bill GET /users/:id/bills/:id/edit(.:format)         bills#edit 
            bill GET /users/:id/bills/:id(.:format)           bills#show 
             PATCH /users/:id/bills/:id(.:format)           bills#update 
             PUT /users/:id/bills/:id(.:format)           bills#update 
             DELETE /users/:id/bills/:id(.:format)           bills#destroy 

Подробнее о члене ro utes: http://guides.rubyonrails.org/routing.html#adding-member-routes

+0

как насчет разработки и devise_for: пользователи должны идти в области пространства имен? – SupremeA

+0

'devise_for: users' обычно выходит за определение ресурсов, если« пользователи »управляются как ресурсы. Я отредактировал ответ, чтобы это отразить. Ссылка: https://github.com/plataformatec/devise/wiki/How-To:-Manage-users-through-a-CRUD-interface –

+0

Работал как шарм! Большое спасибо! – SupremeA

Смежные вопросы