好的,所以-我做错了什么?我觉得我缺少一些非常简单的东西...
请求属于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
这与您的路线无关,因此,这是ActiveRecord查询中的范围界定问题。您可能在RequestsController中具有以下内容:
def index
@requests = Request.all
end
但是您需要的是以下内容:
def index
@requests = current_user.requests
end
如果您可以独立于用户访问您的请求资源(即,有一个Request.all
或的用例/requests
),那么您实际上应该做一个单独的命名空间控制器(例如Users::RequestsController
)来处理特定于用户的请求。然后,您的路由还需要为特定于用户的请求指定名称空间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句