Ember 序列化程序不适用于 Rails 4.2
Ember serializers not working with Rails 4.2
已更新至 Rails 4.2,现在我终生无法使 ActiveModel::Serializer 配置正常工作。
ActiveModel::Serializer.setup do |config|
config.embed = :ids
config.embed_in_root = true
end
以前,这适用于:
respond_with @thing
对于 4.2(和 0.9.2 AMS),您必须说:
respond_with @thing, root: true
明确。有人知道为什么全局 embed_in_root
配置不再有效吗?
我遇到了同样的麻烦...
活动模型序列化程序 0.9.2 似乎与 Rails 4.2 不兼容。
我认为您的情况可能发生在您致电时:
respond_with @thing, root: true
您根本没有使用活动模型序列化器 gem。我通过在我的活动模型序列化程序中添加自定义属性来测试它,如下所示:
class ThingSerializer < ActiveModel::Serializer
attributes :this_is_a_test
def this_is_a_test
"and it does not work"
end
end
this_is_a_test attribute
没有出现在我的 JSON 中,所以我意识到未使用活动模型序列化程序。
我关注了 igagnidz 并将其添加到我的应用程序控制器中:
def _render_with_renderer_json(json, options)
serializer = build_json_serializer(json, options)
if serializer
super(serializer, options)
else
super(json, options)
end
end
这就是我最终通过它的原因:https://github.com/rails-api/active_model_serializers/issues/641
已更新至 Rails 4.2,现在我终生无法使 ActiveModel::Serializer 配置正常工作。
ActiveModel::Serializer.setup do |config|
config.embed = :ids
config.embed_in_root = true
end
以前,这适用于:
respond_with @thing
对于 4.2(和 0.9.2 AMS),您必须说:
respond_with @thing, root: true
明确。有人知道为什么全局 embed_in_root
配置不再有效吗?
我遇到了同样的麻烦...
活动模型序列化程序 0.9.2 似乎与 Rails 4.2 不兼容。
我认为您的情况可能发生在您致电时:
respond_with @thing, root: true
您根本没有使用活动模型序列化器 gem。我通过在我的活动模型序列化程序中添加自定义属性来测试它,如下所示:
class ThingSerializer < ActiveModel::Serializer
attributes :this_is_a_test
def this_is_a_test
"and it does not work"
end
end
this_is_a_test attribute
没有出现在我的 JSON 中,所以我意识到未使用活动模型序列化程序。
我关注了 igagnidz 并将其添加到我的应用程序控制器中:
def _render_with_renderer_json(json, options)
serializer = build_json_serializer(json, options)
if serializer
super(serializer, options)
else
super(json, options)
end
end
这就是我最终通过它的原因:https://github.com/rails-api/active_model_serializers/issues/641