请记住,在回答这个问题时,我对Rails完全不熟悉。我的问题如下:
我有一个由.find查询结果的数组。此数组传递给视图,并显示每个项目。但是,在传递它之前,我需要向每个Array元素添加信息。 如果每个元素都是一个数组我可以使用<<,如果它是一个哈希我可以使用.merge,但由于我不知道它是什么,我不知道如何添加信息... ..
希望你能帮助我!
答案 0 :(得分:1)
好的,你的评论清除了一点。执行User.find(n)
后,您将获得user
个对象。如果您执行类似User.find(1, 2, 3)
的操作,那么您将获得一组user
个对象。因此,动态添加这可能不是一个理想的解决方案。
但是这是一种黑客的方法
users = User.find(1, 2, 3)
modified_users = users.map { |user| Array(user) << "some value tacked on" }
这会将您的user
对象转换为数组,然后为其附加一个值。不推荐,但它会做你想要的。
答案 1 :(得分:1)
你可以找到它们......只是puts results.class
如果您不想弄乱阵列中的对象,可以创建一个包含添加信息的数组或哈希。
results.map do |r|
Hash[result: r, info: "your information here"]
end