2011-02-25 4 views
0

내 RoR 애플리케이션에서 ID가 "submission_references" 인 필드를 채우는 rjs 파일이 내 메인 폼에서 발견되었습니다.ruby ​​on rails - rjs의 dbase 레코드를 통한 루프

RJS 코드 : 내가 @references[0].NAME 같은 것을 넣어 경우

[object Object],[object Object] 

:

page[:submission_references].value = @references.each do |reference| 
             reference.NAME 
             end 

문제는 대신 검색 데이터베이스 값을 표시하는 다음이 'submission_references' 필드에 표시되는 것입니다 검색된 첫 번째 레코드의 이름이 필드에 표시됩니다.

제발 누군가가 나를 위해이 부분을 밝힐 수 있습니까? 당신의 소중한 도움을

많은 많은 감사

+0

"@references in reference in loop"를 시도해보고 작동하는지 알려 주시겠습니까 – gkaykck

+0

:) 제안 해 주셔서 감사합니다. (@ references.map {| reference | reference.NAME}). 조인 (",") 그리고 잘 작동하는 것 같습니다. – Kim

답변

2

시도 :

page[:submission_references].value = 
    (@references.map {|reference| reference.NAME}).join(", ") 

약간의 설명 : 코드에서 당신은 value에 할당 한 객체의 원래의 배열을 (반환 each 루프의 결과 평가 된 내부 블록이 아님). 그래서 [object Object],[object Object] 문자열을 얻는 것입니다. 다른면에서 map은 컬렉션을 반복하며 컬렉션의 각 객체에 대해 블록을 평가합니다. 평가 된 값은 원본 객체 대신 배열로 반환됩니다. NAME은 문자열이므로 join(", ")을 사용하여 배열의 각 요소를 ","문자열과 연결된 하나의 문자열로 결합 할 수 있습니다.

+0

OMG, sooo much klew :) ... 내 코드가 잘 작동하고 있습니다. 건배! – Kim