2010-07-19 4 views
0

,RJS 프록시를 통해 어레이에 액세스하는 방법은 무엇입니까? 레일 'RJS 어댑터

page['id'] // $('id') 

는 CSS-ID 액세스

page['id'].property // $('id').property 

그것의 속성. 하지만 어떻게 배열 색인에 액세스 할 수 있습니까?

page.select('ul').value_at(2) // $('id').select('ul')[2] 

작성하지 않고이 일을 어떤 방법이 있나요 : 당신은 RJS에서 그런 식으로 배열을 액세스 할 수는 없지만

page << "$('id').select('ul')[2]" 
+0

: 당신이 page.select을 사용하여에 충실하려는 경우

, 당신은 다음과 같이 (여기라는 선택을) value_at 구현할 수 스타트? – giraff

답변

2

는, 이러한 사람이 작동합니다 :

page['id']['firstChild']['nextSibling'] 
page['id'].down(2) 

가 생성 :

$("id").firstChild.nextSibling; 
$("id").down(2); 

물론 그는 가장 좋은 해결책은 두 번째 요소에 식별 CSS 클래스 또는 요소 ID를 추가하고 rjs 파일에서이를 선택하는 것입니다. 나는 그런 value_at 기능을 구현하고 싶었다면 내가가 어디 것,

>>> Array.prototype.pick = function(n) { return this[n]; }; 
function() 
>>> ['a', 'b', 'c'].pick(1) 
"b" 
+0

이 문제를 피하는 훌륭한 방법! 나는 아직도이 기본적인 구문이 다루어지지 않는다고 믿을 수는 없다. (작은 말 : 2는 셋째 아이이므로'[ 'firstChild'] [nextSibling]] [ 'nextSibling']'을 읽어야합니다. – giraff

+0

식별 클래스는이 문제를 해결하지 못합니다. – giraff

+0

죄송합니다. ID를 추가해야합니다. js 파일에 포함시킬 수있는 'value_at'구현을 사용하여 내 대답을 편집했습니다. – jdeseno

관련 문제