我有两个模型Post和Comment
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
我怎么能得到所有的帖子与评论如下json响应:
{
"posts": [
{
"name": "Ruby on Rails",
"comments": [
{
"desc": "awesome"
}
]
},
{
"name": "Java",
"comments": [
{
"desc": "Thanks"
},
{
"desc": "very useful"
}
]
}
]
}
试着在app/views/posts/中创建一个index.json.jbuilder,并在其中添加以下代码
json.posts @posts do |post|
json.name post.name
json.comments post.comments do |comment|
json.desc comment.desc
end
end
使用activemodel activemodel序列化器。也可以看看这个railscasts视频,它让你对activmodelserializers有了一个很好的了解,以及如何使用它。希望我对你有所帮助。