【发布时间】:2013-06-19 12:19:57
【问题描述】:
我想在我的 Rails 项目中设置一个嵌套路由,如下所示:
# config/routes.rb
DemoApp::Application.routes.draw do
namespace :api, defaults: {format: :json} do
namespace :v1 do
resources :places, only: [:index]
resources :users do
resource :places
end
end
end
devise_for :users, controllers: { sessions: "sessions" }
ActiveAdmin.routes(self)
end
我使用RABL templates 来呈现 JSON 内容。可能是我误解了RABL 中child 元素的用途。据我了解,它们不会将我引向如下所示的 RESTful 路径。另一方面,如果 RABL 不支持嵌套资源,请告诉我。
如何为嵌套路由输出 JSON,例如 ... ?如何编写匹配路由users/:id/places的RABL模板?
http://localhost:3000/api/v1/users/13/places.json
我确实不想要显示用户信息。应该不可以通过以下路径检索用户数据:
http://localhost:3000/api/v1/users/13.json
http://localhost:3000/api/v1/users.json
在项目中我使用CanCan 1.6.9.和Devise 2.2.3.
【问题讨论】:
标签: ruby-on-rails json nested-resources rabl view-templates