2016-06-16 3 views
-1

문제가 있습니다. 선택 상자 (드롭 다운)에 대해 선택된 값으로 데이터베이스의 테이블 데이터를 업데이트하고 싶습니다. 그리고 저는 아약스가 해결책이라고 생각합니다. 그러나 나는 그것을 어떻게 할 수 있는가?
여기 내 선택 태그 보기입니다. 내보기는 여기 레일에서 ajax를 사용하여 데이터베이스의 테이블을 업데이트하십시오.

%select{:name => "options", :id=>"select_other_month"} 
      %option{:value => "0"} Other Months 
      %option{:value => "5"} 5 
      %option{:value => "4"} 4 
      %option{:value => "3"} 3 
      %option{:value => "2"} 2 
      %option{:value => "1"} 1 

및 HAML

에 writtin되는 것은 내 테이블

.table{:id=>"admin_time_table"} 
     %table{:border=>"1"} 
      %tr 
       %th No 
       %th Name 
       %th Total day 
       %th Total time 
      [email protected] = 1 
      [email protected] do |u| 
       %tr 
        %[email protected] 
        %td=u.firstname 
        %td=u.total_day 
        %td=u.total_time 
       [email protected] = @i +1 

이고 내가 드롭 다운에 4를 선택하면 내 말은

@users = User.where(:type_id=>0) 

처럼 내 컨트롤러가 보인다, 테이블 데이터는 데이터베이스에서 4 월 데이터로 다시로드됩니다.
참고 : 내 데이터베이스는 mysql입니다.
나쁜 영어로 죄송합니다.

+0

Ajax를 Rails와 함께 사용하는 방법에 대한 자습서를 요청 했습니까? 아니면이 코드에 삽입하는 것이 가장 좋은 곳입니까? –

+0

Ajax를 레일즈와 함께 사용하는 방법을 묻습니다. –

+0

다음 질문은 너무 광범위합니다. [Rails guide to JS] (http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html)를 읽어보십시오. –

답변

0

1) 선택 양식을 remote: true 옵션과 함께 입력하십시오. 그러면 아약스로 제출하게됩니다. 변경 될 때마다 자바 스크립트 리스너를 제출하도록 설정할 수도 있습니다. 이 시점에서 레일 서버를 치고 라우팅 오류가 발생하는 것을보아야합니다.

2)이 작업을위한 경로를 설정하십시오. 컨트롤러 행동

3) 도면에서 action.js.erbparams

4)로부터 판독 select_other_month 값() js이어야한다. do $("#admin_time_table").html("<%= j render partial: 'table' %>"). 테이블 부분이 지정된 데이터로 대체하는 경우 type_id

시스템에서 작동하려면 재생 및 조정해야합니다. 하지만 아이디어를 얻었습니다

관련 문제