2

如何在不复制相关资源和控制器的情况下添加新版本的资源?

假设我有一个由以下路由描述的 API:

namespace :api do
  namespace :v1 do
    jsonapi_resources :contacts
    jsonapi_resources :phone_numbers
  end
end

class Api::V1::ContactResource < JSONAPI::Resource
  attributes :first_name, :last_name
  has_one :phone_number
end

我想在ContactResource不复制PhoneNumberResourceand的情况下添加我的新版本PhoneNumberController,有没有办法做类似的事情:

class Api::V2::ContactResource < JSONAPI::Resource
  attributes :full_name
  has_one :phone_number, related_class: Api::V1::PhoneNumberResource
end

我正在从事一个具有许多相关资源的项目,我不想复制所有这些资源,有什么建议吗?

4

0 回答 0