2
响应我建立的REST API的红宝石自定义as_json红宝石
我使用@object.as_json()
为JSON格式的响应
我被陷在中间,而传输的数据as_json
。我需要更多的定制我列出正是我想要的响应
和我在哪里卡住
我使用下面的代码
@videos = Video.all.map{|m| m.as_json(
only: [:title],
method: [:watch_count],
include: {
user: {
only: [:first_name],
method: [:role]
}
}
).merge(
is_upvoted: m.is_upvoted(current_user)
) }
但我需要对其进行自定义。
1-我需要在视频和用户对象中传递手动键和值(不在数据库中),目前可以使用视频而不是用户。它应该可能与父对象及其子对象相关联。我不想使用:方法相同
2 -I需要传入参数:方法,与视频模型一样,is_upvoted方法有一个像当前用户那样的参数。所以我无法传递参数:方法。目前我可以使用合并来完成,但是用户对象无法实现。
3-我需要更改键名时使用include:{user:{method:[]}}。 我需要提前
显式地执行'user.as_json',然后合并结果? – mudasobwa