未知适配器:json_api。有效的适配器是:[":fragmentcache", ":json", ":flattenjson", ":null", ":jsonapi"]
Unknown adapter: json_api. Valid adapters are: [":fragmentcache", ":json", ":flattenjson", ":null", ":jsonapi"]
我有 rails4 运行 active_model_serializers (0.10.0.rc2) gem。今天我开始为我的客户端设备开发 api。我运行rspec测试,它给了我这个错误
ArgumentError:
Unknown adapter: json_api. Valid adapters are: [":fragmentcache", ":json", ":flattenjson", ":null", ":jsonapi"].
我的配置:
class BaseSerializer < ActiveModel::Serializer
def initialize(object, options = {})
ActiveModel::Serializer.config.adapter = :json_api
super(object, options)
end
end
我查看了 gem 还是0.10.0.rc2。所以 gem 列表没有变化。我想知道是什么导致了这个问题?
请帮忙
我从这个帖子 https://github.com/rails-api/active_model_serializers/issues/993 中找到了解决方案。我的问题是我的 config/inflections.rb 中有 'API' 首字母缩写词。
inflect.acronym 'RSA'
inflect.acronym 'API'
:json_api 适配器实际上将转换为 class。由于 api 将被翻译成 API 那么 AMS 将无法找到这样的东西 JsonAPI.
为了解决这个问题,我必须将 class 直接放在下面:
class BaseSerializer < ActiveModel::Serializer
def initialize(object, options = {})
ActiveModel::Serializer.config.adapter = ActiveModel::Serializer::Adapter::JsonApi
super(object, options)
end
end
我有 rails4 运行 active_model_serializers (0.10.0.rc2) gem。今天我开始为我的客户端设备开发 api。我运行rspec测试,它给了我这个错误
ArgumentError:
Unknown adapter: json_api. Valid adapters are: [":fragmentcache", ":json", ":flattenjson", ":null", ":jsonapi"].
我的配置:
class BaseSerializer < ActiveModel::Serializer
def initialize(object, options = {})
ActiveModel::Serializer.config.adapter = :json_api
super(object, options)
end
end
我查看了 gem 还是0.10.0.rc2。所以 gem 列表没有变化。我想知道是什么导致了这个问题?
请帮忙
我从这个帖子 https://github.com/rails-api/active_model_serializers/issues/993 中找到了解决方案。我的问题是我的 config/inflections.rb 中有 'API' 首字母缩写词。
inflect.acronym 'RSA'
inflect.acronym 'API'
:json_api 适配器实际上将转换为 class。由于 api 将被翻译成 API 那么 AMS 将无法找到这样的东西 JsonAPI.
为了解决这个问题,我必须将 class 直接放在下面:
class BaseSerializer < ActiveModel::Serializer
def initialize(object, options = {})
ActiveModel::Serializer.config.adapter = ActiveModel::Serializer::Adapter::JsonApi
super(object, options)
end
end