2013-08-26 3 views
0

에서 여러 속성을 추출하는 방법에 대해 설명합니다. 이 배열에서 특정 특성 만 추출해야합니다. 여기에 내가 나는 여러 속성을 반환하는 학생 배열 객체가 루비 배열

@project.each do |p| 
      @students << Student.find_by_id(:id => p.receiver_id, :select => "first_name, last_name") 
     end 

을 시도하는 코드입니다 그러나 그것은 알 수없는 키를 보여주고있다 : ID를. @students 배열에 삽입 할 이름과 성만 필요합니다. 레일 2.3과 루비 1.8.7을 사용하고 있습니다. 도와주세요. 당신은 그 오류를 얻고있다

답변

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 

첫 번째 버전은 해시 배열을 제공합니다. 두 번째 버전은 배열 배열을 제공합니다.