在我的RoR应用程序中,我有一个rjs文件,它填充了一个在我的主表单中找到id为"submission_references"
的字段。
RJS代码:
page[:submission_references].value = @references.each do |reference|
reference.NAME
end
问题是,不是显示检索到的数据库值,而是在'submission_references'
字段中显示以下内容:
[object Object],[object Object]
但是,如果我输入@references[0].NAME
之类的内容,则会在字段中显示第一个检索到的记录名称。
请允许有人为我阐明这一点。
非常感谢你的宝贵帮助
答案 0 :(得分:2)
尝试:
page[:submission_references].value =
(@references.map {|reference| reference.NAME}).join(", ")
一点解释:在您的代码中,您已经为value
分配了each
循环的结果,该循环返回原始对象数组(不是评估的内部块)。这就是你获得[object Object],[object Object]
字符串的原因。另一方面map
遍历集合,它为集合中的每个对象计算块。然后,在数组中返回评估值而不是原始对象。由于NAME
是一个字符串,因此您可以使用join(", ")
将数组的每个元素连接成一个用“,”字符串连接的字符串。