我有一个学生数组对象,它返回多个属性。我只需要从这个数组中提取特定的属性。这是我试过的代码
@project.each do |p|
@students << Student.find_by_id(:id => p.receiver_id, :select => "first_name, last_name")
end
但它显示的是未知密钥:id。 我只需要在@students数组中插入名字和姓氏。我使用的是rails 2.3和ruby 1.8.7。请帮忙。
答案 0 :(得分:1)
您收到该错误的原因应该是:
@project.each do |p|
@students << Student.find_by_id(p.receiver_id)
end
如果您只想要名字和姓氏,那么您可以考虑:
@project.each do |p|
student = Student.find_by_id(p.receiver_id)
@students << { :first_name => student.first_name, :last_name => student.last_name }
end
如果你想要一个数组,那么:
@project.each do |p|
student = Student.find_by_id(p.receiver_id)
@students << [student.first_name, student.last_name ]
end
第一个版本会为您提供一系列哈希值。第二个版本将为您提供一组数组。