2010-12-21 2 views
0

제가

방법

「url_for」레일 루비에 자바 스크립트 변수를 전달려고 수 있다는 것이다 url_for에서 PARAM 같은 스크립트 변수를 전달 ??

<a href="<%= url_for(:controller => 'epgs', :action => 'show', :parameter1 => myJavaScriptVariable %>" data-inline="true"> 

답변

2

아니, 자바 스크립트 변수는이 서버 쪽 일을하고 있습니다로 ERB가 렌더링되는 범위에 있지 않습니다. Javascript는 페이지가 레일스에 의해 완전히 렌더링되고 사용자 (즉, 사용자의 브라우저)에 반환 된 후에 만 ​​사용할 수 있습니다. 당신이 정말하고 다음 URL에서 간단한 방법을 자바 스크립트 변수를해야하는 경우는 페이지가로드되면 자바 스크립트를 사용하여 HREF에 추가 매개 변수를 추가하는 것입니다 :

new_link = $('#link').attr('href') + '&parameter_1=' + myJavaScriptVariable; 
    $('#link').attr('href', new_link); 

jQuery를 또는 유사한 것을 사용.

+0

먼저 DOM이 준비되어 있는지 확인해야 할 수도 있습니다. – Samo

+0

맞아요! 분명히 #link 요소는 DOM이 완전히로드 될 때까지 href를 대체 할 수 없습니다. 그래도 응답을 JS 또는 jQuery로 만들고 싶지 않았습니다. :) – JamesAlmond