2013-07-30 3 views
0

Хорошо, так что - Что я сделал не так? Я чувствую, что я что-то очень простое не хватаю ...Rails 4 - Маршрутизация и пространства имен?

ПРЕДЛАГАЕТ принадлежит USER

USER имеет много запросов

Я регистрируемые в качестве current_user (ID = 3) и хочу Мой список запросы:

<%= link_to("My Requests", user_requests_path(current_user)) %>

Эта ссылка идет на /users/3/requests, но он показывает все запросы, а не только тех, кто принадлежит мне .... ???

routes.rb 
    resources :users do 
     resources :requests 
    end 

rake routes: 
user_requests GET  /users/:user_id/requests(.:format)  requests#index 
+2

Не зависит от того, что вы опубликовали. Подправлено ли правильное действие? Правильно ли это запросы фильтрации действий? И можете ли вы стремиться быть * немного более профессиональным в своих сообщениях? – meagar

+0

Приношу свои извинения за то, что оскорбил вас своей попыткой легкомыслия. –

+0

Вы ищете личность в Википедии? Если он туда не поедет, то он не пойдет сюда. Stack Overflow предназначен для работы, а не для форума. – meagar

ответ

1

Это не связано с вашими маршрутами, то это проблема определения области действия в запросе ActiveRecord. Вы, наверное, есть что-то вроде следующего в RequestsController:

def index 
    @requests = Request.all 
end 

Но то, что вы должны иметь что-то больше похоже на следующее:

def index 
    @requests = current_user.requests 
end 

Если ваш запрос ресурс может быть доступен независимо от пользователей (т.е. есть прецедентом для Request.all или /requests), вы должны фактически выполнить отдельный контроллер с расширением имен (например, Users::RequestsController) для обработки пользовательских запросов. Затем вашим маршрутам необходимо будет указать пространство имен для пользовательских запросов.

+0

Мой индекс: '@requests = Request.paginate (: page => params [: page])' Hm, но что, если я хочу использовать тот же индекс для перечисления всех запросов? поэтому одна ссылка идет на мои запросы, а в другой ссылке перечислены все запросы ... Я думал, что параметр current_user будет фильтровать представление. ?? –

+0

@KatieM Я обновил свой ответ с более подробной информацией по этому делу. Вы также можете проверить http://stackoverflow.com/questions/5025050/routing-nested-resources-in-rails-3 – coreyward

+0

Gotcha, я проверю его и приму свой ответ, когда это позволит. Благодаря! –