有两个不同的概念需要澄清。它们是“报告”和“报告定义”。
如果您转到灰色页面并检查您的任何报告,它们可能如下所示:
{
"report" : {
"content" : {
"domains" : [],
"definitions" : [
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/1672",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/1674",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11135",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11146",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11155",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11156",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11157",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11211"
]
},
"meta" : {
"author" : "/gdc/account/profile/18e93db4a57fba2d71f14fa6ea801d77",
"uri" : "/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/1673",
"tags" : "companya",
"created" : "2014-01-25 10:14:33",
"identifier" : "a9N6PNkSegqc",
"deprecated" : "0",
"summary" : "",
"isProduction" : 1,
"title" : "Yearly sales per office",
"category" : "report",
"updated" : "2016-02-23 12:40:18",
"contributor" : "/gdc/account/profile/ca60c2f38c6804429f9c3934ea64ea09"
}
}
}
如您所见,过去每次修改报告时都会保存此报告的多个版本。
如果你尝试,你做的方式:
puts report.using?(attribute)
如果属性是此报告的任何定义的一部分,您将得到 TRUE。为了专门检查此属性是否是报告的当前/最新定义的一部分,您应该使用:
puts report.definition.using?(attribute)
方法#definition为您提供了它的最新版本。我希望这有帮助。
劳尔·梅尔戈萨