我有一個Rails應用程序在谷歌圖表圖表從外部服務器收集用戶數據。用戶模型中有一個用於從服務器獲取此數據的方法,該方法在users#show controller方法中調用。更新谷歌圖表數據提交
show
方法返回一個默認的JSON,然後我使用users_helper
方法解析出來。這些返回一個JSON格式的字符串(不是JSON對象)供Google Charts使用。
我添加功能,以便能夠選擇一個日期從和日期爲數據。這是我的表(HAML):
= form_tag({:controller=>"manage/users", :action=>"show"}, :id => "datesform", method: :get, remote: true) do
= text_field_tag :date_from, "", data: {behaviour: "datepicker"}, placeholder: "Date from", :id => "date_from_box"
= text_field_tag :date_to, "", data: {behaviour: "datepicker"}, placeholder: "Date to", :id => "date_to_box"
= submit_tag ("Search"), :id => 'chart_submit_dates'
目前,默認的時間跨度兩個月(只發生如果date_from/DATE_TO PARAMS是空的)。在查看時,這是有效的。圖形獲得正確的數據並呈現所有內容。
然而,提交表單無助於改變數據,除非我刪除從形式remote: true
屬性。當我這樣做時,整個頁面會刷新,但圖形會在表單中指定的正確數據時間範圍內生成。
我試圖做到的,是在曲線數據頁面內更新,然後我可以調用表單提交時一個圖表的重新渲染。這聽起來像AJAX一個完美的情況下,但一切我試過沒有工作(雖然我是一個完整的小白到Ajax和JavaScript,因此它已經削減大多和粘貼來自網上的東西)