2012-06-02 3 views
0

을 업데이트하여 다음과 같은 체크 박스를 확인하고 라디오 버튼 내 listings_controller 나는 그런 일이 어떻게해야합니까checkbox_tag - 내가 좋아하는 것 AJAX 모델

에서 "업데이트"메소드를 호출? 내 테이블에 요소를 코딩했지만 어떻게 매개 변수를 보낼 수 있습니까? AJAX를 사용하고 싶습니다. 어디에서 시작해야합니까?

<%= stylesheet_link_tag 'listings' %> 
    <h1>Listing listings</h1> 
    <table class="datatable"> 
    <tr id="heading" > 
    <th >id</th> 
    <th >name</th> 
    </tr> 

    <% @listings.each do |listing| %> 
     <tr id="body"> 
    <th><%=listing.id%></th> 
     <th><%= link_to listing.name, edit_listing_path(listing) %></th> 

    #How can I have the following invoke the update method in AJAX format 
    <td><%= radio_button_tag(:keep, "Keep") %> 
     <%= label_tag(:keep, "Keep") %></td> 
    <td><%= radio_button_tag(:keep, "Delete") %> 
     <%= label_tag(:keep, "Delete") %></td> 
    <td><%= check_box_tag(:checked) %> 
     <%= label_tag(:checked, "checked") %></td> 
    <td><%= check_box_tag(:collected) %> 
     <%= label_tag(:collected, "collected") %></td> 
    <td><%= check_box_tag(:digitized) %> 
     <%= label_tag(:digitized, "digitized") %></td> 
    <td><%= check_box_tag(:in_database) %> 
     <%= label_tag(:in_database, "in database") %></td> 
     </tr> 
    <% end %> 
</table> 
<br /> 
<%= link_to 'New Listing', new_listing_path %> 

고마워요.

답변

1

당신은 꽤 모호하지만, 확실히 이것을 위해 jQuery를 사용해야합니다. app/assets/javascripts/listings.js.coffee으로 이동하여 다음을 시도하십시오.

$('input.some_class').bind('update', -> 
    $.post('/listings/update', { param1: value, param2: value ... }, (data) -> 
    alert('updated!') 

또는 그냥 일반 자바 스크립트 (app/assets/javascripts/listings.js)

$('input.some_class').bind('update', function() { 
    $.post('/listings/update', { param1: value, param2: value ... }, function(data) { 
    alert('updated!'); 
    }); 
}); 
  • 당신의 체크 박스, 라디오 버튼 등
  • 가 전송하려는 데이터의 해당 필드에 기입 일부 클래스 이름을 (부여 목록 컨트롤러에서 updates 메소드로 허용되는 데이터)
  • 가 아닌 콜백에 적합한 코드를 입력하십시오., 아무 것도 넣지 않아도됩니다.)

그러나 다시 말하지만, 당신의 요구는 다소 모호합니다. 이것이 좋은 출발점이되기를 바랍니다. 나는 당신의 프로젝트에 AJAX를 통합하기 전에 jQuery와 아마도 coffeescript를 배우도록 권할 것이다. :remote => true을 활용하기 위해 약간의 조정을 할 수도 있지만 그 또 다른 이야기입니다.

+0

여기에 대한 자습서를 제안 할 수 있습니까? 나는 모델과 대화하는 테이블에있는 체크 박스를 찾으려고 노력하고 있습니다. - 감사합니다. – banditKing

+0

AJAX가 정상적으로 처리 할 수있는 유형이라고 생각하면, 튜토리얼에 대해 묻는 것이 너무 사소한 것입니다. jQuery 및 AJAX 요청을 배우는 데 약간의 시간을 투자하십시오. 계속 진행하려면 지식이 필요합니다. –

+0

방향에 대해 감사드립니다. – banditKing

관련 문제