使用JSON:API规范与AMS的多态性关联



我一直在尝试保存具有多态关联的对象,看看我的 create_params

module Admin
  class ChatroomsController < AdminController # :nodoc:
    ...
    def create_params
      ActiveModelSerializers::Deserialization.jsonapi_parse!(
        params,
        only: [:name, :chatable],
        polymorphic: [:chatable]
      )
    end
  end
end

发送到保存时,AMS找不到解决模型名称的方法:

#<NameError: wrong constant name disputes>

如何通过多态关联来保存对象?谢谢。

我使用后面的修复来解决我的问题:

module Admin
  class ChatroomsController < AdminController # :nodoc:
    ...
    def create_params
      res = ActiveModelSerializers::Deserialization.jsonapi_parse!(
        params,
        only: [:name, :chatable],
        polymorphic: [:chatable]
      )
      res[:chatable_type] = res[:chatable_type].singularize.capitalize
      res
    end
  end
end

ams有一个拉动请求来解决此问题。

最新更新