如果您使用Active Model Serializers
在Rails中生成JSON API,请参阅RailsCast 409,然后像这样定义serializer
..
class ArticleSerializer < ActiveModel::Serializer
attributes :id, :name, :content
end
..并尝试序列化对象(通常是render :json => article
):
ArticleSerializer.new(article).as_json
=> {:id=>158655280, :name => "a name", :content => "article content"}
然后它产生有时非常奇怪的ID和警告:Object#id will be deprecated; use Object#object_id
,至少对于Ruby 1.8.7,Ruby 1.9.3似乎有效。
这是一个Ruby问题吗?
如果不能选择更新到Ruby 1.9.3,如何修复它?
答案 0 :(得分:0)
我有同样的问题。解决方案是在我的序列化器中定义一个id方法:
def id
object.id
end