2016-06-16 103 views
-1

我遇到了問題。我想用數據庫中的表格數據更新選擇框(下拉列表)的選定值。我認爲ajax是解決方案。但我該怎麼做呢?
這是我的選擇標籤查看。我的觀點是在HAML

使用rails中的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 

這裏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 

和我的控制器看起來像

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

我的意思是,當我在下拉列表中選擇4,表數據從數據庫重新加載4月份的數據。
注:我的數據庫是mysql。
對不起,我的英語不好。

+0

您是否要求提供關於如何使用Ajax with Rails或最好將其插入到此代碼中的教程? –

+0

我在問如何在Rails中使用Ajax –

+0

那麼你的問題太廣泛了 - 首先閱讀[Rails guide to JS](http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html) –

回答

0

1)將您的選擇與remote: true選項放在表單中。這將使它通過ajax提交。也可以設置一個JavaScript偵聽器,每次更改時提交它。你應該看到它在這個時候碰到了rails server,並且得到了路由錯誤

2)爲這個動作設置路由。

3)在一個控制器的動作從params

4)讀出的select_other_month值。在一個視圖action.js.erb(必須是js)。做 $("#admin_time_table").html("<%= j render partial: 'table' %>")。如果表部分替換爲指定的數據type_id

您需要播放和調整它才能使其與系統一起工作。但你有想法