질문 :ActiveModel :: Serializers에는 Rails 컨트롤러처럼 이름 공간이있는 이름 (중첩)을 사용할 수 있습니까?
내 컨트롤러와 함께이 작업을 수행 :
class Api::Product::V1::LicenseController < ApplicationController
가 왜 내 시리얼 라이저와 함께이 작업을 수행 할 수
? (또는 I 수?)class Api::Product::V1::LicenseSerializer < ActiveModel::Serializer
CONTEXT :
내가 여러 컨트롤러/단일 모델에 해당 경로를 가지고있다.
그리고 컨트롤러마다 1 대 1에 해당하는 모델마다 여러 개의 시리얼 라이저가 있어야합니다.
ActiveModel::Serializers
render :json => @license_token, :serializer => LicenseSerializer
가 왜 나는 또한이 작업을 수행 할 수없는 이유는 무엇입니까?
render :json => @license_token, :serializer => Api::Product::V1::LicenseSerializer
나는 그들이 일을 알고에도 불구하고, 이와 같은 복합 이름의 추함을 피하기 위해 노력하고 있어요 :
ProductAlphaLicenseSerializer
ProductBravoLicenseSerializer
ProductCharlieLicenseSerializer
각을 내 모델의 여러 API를 지원합니다. 시리얼 라이저를 에이스. 각 모델은 각각의 해당 시리얼 라이저에 의해 다르게 사용됩니다.
안녕하세요 크리스, 네가 무슨 짓을했는지 궁금 하네. 또한 현재 active_model_serializers를 네임 스페이스로 구성하려고합니다. 문제는 방금 네임 스페이스 및 클래스 이름 대신 클래스 이름을 사용하면 작동하지 않습니다. 그래서 예제 :'render : json => @license_token, : serializer => Api :: Product :: V1 :: LicenseSerializer'는 제게 맞지 않습니다.'render : json => @license_token, : serializer => LicenseSerializer' – Andy