你似乎有点倒退了。如果你想序列化一个 Post,你应该有一个 PostSerializer。
如果您已经有如下的 Post 模型设置,
class User < AR::Base
has_many :posts
end
class Post < AR::Base
belongs_to :user
end
创建一个序列化程序:
rails g serializer post
rails g serializer user
这看起来像
class PostSerializer < ActiveModel::Serializer
attributes :id, :title
has_one :user
end
在您的控制器中,确保您已设置:
class PostsController
respond_to :html, :json
def show
@post = Post.find(params[:id])
respond_with @post
end
end
然后,一切就绪。调用 /posts/1.json 你会得到
{"post":{"id":1,"title":"the title","user":{"id":1,"name":"jesse"}}}