2014-02-10 3 views
0

나는 다음과 같은 LINK_TO 호출에서 변수를 사용하는 것을 시도하고있다 :LINK_TO 경로에 변수를 가져 오는 방법을

<%= link_to '<button type = "button">Players</button>' 
    .html_safe, live_players_path(:Team => @tmf) %> 

하지만 때마다 난 더 이상 변수의 값을 설정 한 어떤 이쪽을 클릭 여기 :

$(document).ready(function(){ 
    $('#FilterTm').change(function(){ 
     Tm = $('#FilterTm').val(); 
     SelectTm = true; 
     $.ajax (
      { 
       url: "http://localhost:3000/live_players.json' + 
        '?TmFilter="+Tm+"&Selected="+SelectTm, 
       type: "get", 
       dataType: "json", 
       cache: true, 
       success: function(data) { 
        alert("Loading Players...."); 
       }, 
       error: function(error) 
       { 
        alert("Failed " + console.log(error) + " " + error); 
       } 
      }); 
    }); 
}); 

그래서 요약, 내가 선택 드롭 다운, trigge에서 팀을 선택 아약스 호출을 사용하여

<select id = "FilterTm"> 
    <option>Select a Team...</option> 
<% Abbrv.order("Team").each do |abbrv| %> 
    <option><%= abbrv.Team %></option> 
<% end %> 
</select> 

rs 컨트롤러에서 @tmf 변수를 설정하는 ajax이지만 link_to를 클릭하면 변수 (@tmf)는 nil입니다. 나중에 사용할 수 있도록 변수를 가져 오려면 어떻게해야합니까?

답변

1

이것은 사용자의 첫 번째 요청시 클라이언트로 전송 서버 &에서 렌더링됩니다 :

<%= link_to '<button type = "button">Players</button>' 
    .html_safe, live_players_path(:Team => @tmf) %> 

Ajax 요청은 별도의 요청입니다. ajax 요청 중에 서버에서 @tmf를 변경하면 서버에서 @tmf 만 변경됩니다. 그것은 고객에게 보내야합니다. ajax 요청의 서버 쪽에서 클라이언트에 새로운 @tmf 값을 보낸 다음 사용자 정의 javascript를 작성하여 href의 값을 설정해야합니다. 이런 식으로 뭔가 :

여기에 레일을 사용할 필요가 없습니다 ...

<a id="playerBtn"><button type="button">Players</button></a> 

자바 스크립트 의사 : 나는 정말 그냥 사용이 게시물을 참조 다른 사람에 대한 Btw는

var playerBtn = $("#playerBtn");  

... 

success: function(data) { 
    alert("Loading Players...."); 
    playerBtn.href= "url/?Team=" + data.tmf; 
}, 
+0

제가 이것을 이해하는지 보도록하겠습니다. link_to 대신 버튼을 사용하고 버튼을 클릭하면 URL url : http : // localhost : 3000/live_players.json '+ '? TmFilter = "+ Tm +"을 사용하여 내 아약스를 트리거합니다. & Selected = "+ SelectTm,'그런 다음 성공하면 단추의 href를 적절한 링크로 설정하여 내보기에서 표를 새로 고치게 할 수 있습니까? – user3240928

+0

신난다, 내가 무엇을해야하는지 알았 더라면 나는 당신의 제안을 규칙적인 코드와 목소리로 바꾸었다! 고마워요 많이 – user3240928

+0

위대한, 다행 내가 도울 수있어! –

0

:

$('selector').attr('href', 'url');

선택자는 요소이고, url은 필수 요소입니다. sted 정보.

관련 문제