Javascript Ember.js在一个名称空间中使用不同的资源

Javascript Ember.js在一个名称空间中使用不同的资源,javascript,ember.js,ember-data,ember-router,Javascript,Ember.js,Ember Data,Ember Router,干杯!我必须在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

干杯!我必须在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_适配器中分离名称空间“api/用户”和“api/音乐”

Bandyard.CustomAdapter = DS.RESTAdapter.extend({
  bulkCommit: false,
  url: "http://bandyard.dev",
  namespace: 'api/users'
});
如果我需要从“api/music”路径获取json怎么办

如果我需要从“api/music”路径获取json怎么办

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

有关默认命名约定的详细信息,请参见

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

为特定模型定制端点,请考虑在适配器上重写<强> <强>。请参阅本期


您也可能会发现此请求很有用:

我需要从
'host/api/users/profile'
'search'
'host/api/music/search'获取资源
'profile'
。如果我将适配器的名称空间设置为仅
'api'
,它将从
'host/api/profiles'
中获取
'profile'
资源?问题还在这里。用一些选项更新了我的答案,但很难给出明确的建议,因为我不确定您的API到底期望什么。比如搜索音乐记录的is/api/music/search端点?如果是,应该如何放置/发布/删除工作?您是否同时拥有用户和配置文件,或者配置文件是唯一重要的端点?>您是否同时拥有用户和配置文件,或者配置文件是唯一重要的端点?配置文件才是最重要的,问题是两个端点(配置文件和搜索)都在一个名称空间“api”中,但在不同的资源中-配置文件用户和搜索音乐用户。