我正在尝试在我的rails应用程序中实现Like功能。 我现在做的是我有模型问题,答案和喜欢。
基本上, 问题模型有问题详细信息,例如user_id,question_text,答案模型有答案详细信息,例如user_id,answer_text和 Like model 之间有类似关系user_id,question_id和answer_id。
在我的问题控制器中,我想渲染问题详情页面,它会向我们显示一个问题和几个答案。 我已经提出问题json,以及与问题相关的答案。
{
"questions": [
{
"id": 1,
"text": "Turtoise",
"user_id": 22
}
],
"answers": [
{
"id": 41,
"question_id": 1,
"user_id": 17,
"text": "Good"
},
{
"id": 7,
"question_id": 1,
"user_id": 17,
"text": "alifff"
}
],
"isLike": [
{
"id": 1,
"user_id": "17",
"question_id": "1",
"answer_id": null,
"isLike": false
}
]
}
现在我想像这样渲染json
{
"questions": [
{
"id": 1,
"text": "Turtoise",
"isLike": {
"id": 1,
"user_id": "17",
"question_id": "1",
"answer_id": null,
"isLike": true
}
}
],
"answers": [
{
"id": 7,
"text": "Good",
"isLike": {
"id": 2,
"user_id": "17",
"question_id": null,
"answer_id": "8",
"isLike": false
}
},
{
"id": 8,
"text": "Nice",
"isLike": {
"id": 3,
"user_id": "17",
"question_id": null,
"answer_id": "8",
"isLike": false
}
}
]
}
你能告诉我如何做到这一点。
答案 0 :(得分:0)
您可能需要在此处使用rails关系。
一般来说,你的Question hasMany Like, and Like belongsTo Question
。同样可以回答,Answer hasMany Like, and Like belongsTo Answer
。
由于Like
可以belongsTo
多个模型,您可以尝试使用Polymorphism Association
。
http://guides.rubyonrails.org/association_basics.html#polymorphic-associations