我在 Rails 中有一组 API 路由,如下所示
namespace "api" do
namespace "v1" do
resources :users do
resources :posts
resources :likes
...
end
end
end
到目前为止,一切都很好。我可以 GET /api/v1/users/fred_flintstone 并检索该用户的所有信息。
我现在想做的是添加“我”(ala facebook)的概念,这样如果用户经过身份验证(fred_flintstone),我还可以执行以下操作
获取 /api/v1/我
获取 /api/v1/me/posts
...
我需要两组路线。所以我想使用 GET /api/v1/me/posts 或 GET /api/v1/users/fred_flintstone/posts 来获得相同的结果。
我已经完成了路线教程,并在谷歌上搜索过,因此指针将与直接答案一样受到赞赏。
编辑:
我所做的很有效。我使用范围在路由表中创建了第二组条目:
scope "/api/v1/me", :defaults => {:format => 'json'}, :as => 'me' do
resources :posts, :controller => 'api/v1/users/posts'
resources :likes, :controller => 'api/v1/users/likes'
...
end
然后我添加了一个 set_user 方法来测试 params[:user_id] 的存在。我真的在寻找一种方法来干燥它。