2010-06-14 4 views
1

Ruby On Rails (및 웹 프로그래밍 전반)에 관해서는 초보자입니다. 나는 전형적인 데스크톱 프로그래밍 배경에서 왔습니다. 몇개의 간단한 레일 어플리케이션을 작성했지만 이것이 Rails3 사용에 대한 나의 첫 번째 시도이며 jQuery의 첫 번째 사용법이다.간단한 Rails 앱에서 JQuery 날짜 표시기를 사용하는 방법은 무엇입니까?

내 Rails 응용 프로그램에 jQuery datepicker를 연결하는 방법을 이해하는 데 문제가 있습니다. 나는 단지 기본적인 것을 이해하지 못했을 것이므로, 제 코드에서 잘못된 것을 보거나, 이것을 설명하는 좋은 참고서를 가르쳐주십시오.

내 응용 프로그램은 기본 레일 코드의 수정없이 인덱스 함수를 사용하여 데이터베이스의 데이터를 표시합니다. 사이드 바에서 날짜를 기준으로이 데이터를 필터링하는 데 사용하려는 2 개의 jQuery 날짜 피커를 넣습니다. 날짜 선택 도구에서 날짜를 선택할 때 페이지가 업데이트되도록하고 싶습니다. 양식의 일부 단추를 클릭하지 마십시오.

datepickers가 정상적으로 표시되지만 레일즈 응용 프로그램에 올바르게 연결하는 방법을 알 수 없습니다. 여기에 코드입니다 :

<script type="text/javascript"> 
    $(function() { 
     $("#from_filter").datepicker({ 
      showOn: 'both', 
      buttonImage: 'images/calendar.gif', 
      buttonImageOnly: true, 
      onSelect: function(date,inst) { 
        } 
     }); 

     $("#to_filter").datepicker({ 
      showOn: 'both', 
      buttonImage: 'images/calendar.gif', 
      buttonImageOnly: true, 
      onSelect: function(date,inst) { 
        } 
     }); 
    }); 
</script> 
<div id="sidebarwindow"> 
    <div id="sidebarwindowheader">Date Filter</div> 
    <table id="hor-zebra"> 
     <tr> 
      <td><label for="from_filter">From:</label></td> 
      <td><div id="datepicker"><%= text_field_tag 'from_filter' %></div></td> 
     </tr> 
     <tr> 
      <td><label for="to_filter">To:</label></td> 
      <td><div id="datepicker"><%= text_field_tag 'to_filter' %></div></td> 
     </tr> 
    </table> 
</div> 

나는 꽤 검색 좀하지만, jQuery를 대부분의 예로서 나는 빨리 분실 -> 레일이 양식을 사용하여에 집중하는 것, 그리고 여기에 내가 싶지 않아. onSelect()가 올바르게 작동한다는 경고()로 확인했지만 그 함수에서 내 Rails 컨트롤러를 호출하는 법을 알지 못합니다.

기본적으로 날짜를 선택하고 업데이트해야하는 페이지의 부분을 다시 렌더링하고 싶습니다. 아마 AJAX/jQuery/Rails를 완전히 이해하지 못했을까요?

답변

1

기본적으로 문제는 OnSelect 함수 내부에 무엇을 넣을지 모르는 것입니다.

거기에 ajax jQuery 함수를 호출하여 컨트롤러를 호출 한 다음 콜백 함수를 사용하여 필요한 HTML 코드를 추가합니다.

$.ajax({ url: "/mycontroller/myaction", context: document.body, success: function(){ 
     $(this).addClass("done"); 
     }}); 

더 많은 정보는 :

+0

내가 더 가까워지고 있어요 생각, 추가 지원을 –

+0

감사가 필요하면 알려주세요. 그러나, 난 여전히 레일 맞는 방법에 붙어있다. 위와 같이 아약스 호출을 추가하고 내 컨트롤러에 올바르게 (경로 추가 후) 호출합니다. 그러나 나는 컨트롤러 코드에서 무엇을 할 수 밖에 없다. RJS 코드로 이전에 경험 한 모델링을 시도했지만 작동하지 않는 것 같습니다 (프로토 타입보다는 jQuery를 사용하고있을 가능성이 있습니다) 컨트롤러 코드를 수행하는 방법에 대한 간단한 예제를 제공 할 수 있습니까? – pj4533

+0

이 사실을 알게되었습니다 .... 도움을 주셔서 감사합니다. – pj4533

관련 문제