我有一个需要输出自定义json响应的rails应用程序。
我的Post
模型有很多statuses
。 status
的{{1}}对于每个post
都不同。
我希望将user
作为json返回,每个Post.all
包含依赖于用户的post
es作为常规属性(看起来属于status
的属性,没有嵌套的)
我该怎么做?我不想将current_user方法传递给我的模型,我也不想使用序列化器。
无论如何,我可以做这样的事情:
post
澄清,我想:
respond_with(posts: @posts.as_json(:methods => [:status(current_user)])
#NOTE the current user arg
感谢任何帮助。
答案 0 :(得分:0)
我通过在PostsController中添加以下内容来解决这个问题:
def json_params_for(objects)
collection = objects.map do |post|
{ id: post.id,
content: post.content,
created_at: post.created_at,
status: "reviewed
}
end
collection.to_json
end
在我的控制器中自定义所有json,我可以访问current_user