0

干杯! 我必须在 Rails 后端的一个命名空间中使用不同的资源:

  namespace :api, defaults: { format: :json } do
    resources :users, only: [:show] do
      collection do
        get 'profile'
      end
    end
    resource :music, only: [], controller: 'music' do
      collection do
        get 'search'
      end
    end
  end

有没有办法在我的 rest_adapter 中分离命名空间 'api/users' 和 'api/music' ?

Bandyard.CustomAdapter = DS.RESTAdapter.extend({
  bulkCommit: false,
  url: "http://bandyard.dev",
  namespace: 'api/users'
});

如果我需要从 'api/music' 路径中获取 json 怎么办?

4

1 回答 1

2

如果我需要从 'api/music' 路径中获取 json 怎么办?

您只需将 ember 适配器的命名空间设置为“api”。Ember 数据的 REST 适配器将根据模型的名称向其添加“/music”或“/users”。

有关默认命名约定的详细信息,请参阅其余适配器指南

我需要从'host/api/users/profile'和'host/api/music/search'中获取资源'profile'和'search'。如果我将适配器的命名空间设置为“api”,它将从“host/api/profiles”中获取“profile”资源

要为特定模型自定义端点,请考虑覆盖适配器上的buildURL 方法。请参阅问题如何覆盖 RestAdapter 中单个模型的 URL

您可能还会发现这个拉取请求很有帮助:Expose buildURL suffix parameter in findQuery, filter

于 2013-03-21T22:43:26.157 回答