所以在Mongoid中,我发送了一系列自定义报告模板作为JSON。但是客户端也有一些报告类型,它们总是包含在内。
因此,用户拥有多个群组,每个群组都有许多ReportTemplates
所以当我运行@ user.report_templates时,我会得到一个像这样的哈希 - >
id: "the-snake-report"
name: "The Snake Report"
icon: null
location: null
active: "2014-06-20"
-field_templates: [
-{
-_id: {
$oid: "5391794d4d6163fcea360000"
}
mandatory: false
name: "How long was it?"
options: null
}
-{
-_id: {
$oid: "5391794d4d6163fcea370000"
}
mandatory: false
name: "Did it have any legs?"
options: null
}
-{
-_id: {
$oid: "5391794d4d6163fcea380000"
}
mandatory: false
name: "Did it any languages?"
-options: [
"English"
"Spanish"
"French"
]
}
]
}
-{
id: "bad-kids"
name: "Bad kids "
icon: null
location: null
active: "2014-06-19"
-field_templates: [
-{
-_id: {
$oid: "539167714d6163fcea2b0000"
}
mandatory: false
name: "fish"
-options: [
"one"
"two"
"three"
]
}
-{
-_id: {
$oid: "539167714d6163fcea2c0000"
}
mandatory: false
name: "The cat in the hat?"
options: null
}
-{
-_id: {
$oid: "539167714d6163fcea2d0000"
}
mandatory: true
name: "Are you ok?"
options: null
}
-{
-_id: {
$oid: "539167714d6163fcea2e0000"
}
mandatory: true
name: "Is it a house?"
-options: [
"A car"
"a boat"
]
}
]
}
等。 所以我想采用@ user.report_templates.includes(ReportTemplate.simple_report)等方法
并将其包含在该哈希中。 (而不是将其保留在DB中,我宁愿将其保留为方法) 但我不确定如何处理错误:
TypeError: wrong argument type Hash (expected Module)
所以我也尝试创建一个名为SimpleReport
的帮助器(模块)@user.report_templates.includes(ReportTemplate.simple_report)
但后来我得到了一个MOPED查询
感谢您的帮助。
答案 0 :(得分:0)
好的,我明白了。 基本上取结果.to_json并将结果附加到其上。
渲染json:@ template.as_json<< ReportTemplate.simple_report