0

好的,所以 - 我做错了什么?我觉得我错过了一些非常简单的东西......

REQUESTS 属于 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
4

1 回答 1

1

这与您的路线无关,因此,这是您的 ActiveRecord 查询的范围问题。您可能在 RequestsController 中有如下内容:

def index
  @requests = Request.all
end

但你需要的是更像以下的东西:

def index
  @requests = current_user.requests
end

如果您的 Request 资源可以独立于用户访问(即有Request.allor的用例/requests),您实际上应该使用单独的命名空间控制器(例如Users::RequestsController)来处理特定于用户的请求。然后,您的路由还需要为特定于用户的请求指定命名空间。

于 2013-07-30T15:31:22.877 回答