2012-07-03 28 views
0

我有一個下拉列表供用戶選擇是否完成任務。我希望他們的更改能夠更新數據庫的狀態,而不必在每次更改時都單擊提交按鈕。這可能嗎?Rails - 無需單擊提交按鈕即可更新數據庫字段 - 可能嗎?

基本上,所有的任務都被標記爲默認情況下不完整的,所以當用戶單擊下拉並改變它來完成,我想這個更改數據庫上他們無需點擊提交按鈕。

任何人都可以幫助的幫助將是偉大的,謝謝!

這是我的代碼:

<%= form_for task do %> 
    <td><%= select :task, :complete, [ ["Yes",2], ["Partly",1], ["No",0]], { :action => "update" } %></td> 
<% end %> 

回答

0

有利用JSON請求輪詢模式幾個寶石。我建議觀看this視頻。 Ryan詳細介紹瞭如何使用gem在頁面上進行編輯。

+0

這正是我要找的,謝謝! – ecs

2

嘗試添加此:

:onchange => "this.form.submit();" 

看看RJS: Ajaxified select_tag更多的細節如何使用

+0

謝謝 - 已將近工作 - 它已經更新了正確的信息數據庫,但頁面重新加載,仍然有在盒子「是」 - 我怎麼才能得到它顯示數據庫中的字段的實際內容? – ecs

+0

':選擇=> ...' 我認爲你需要改變的第一行能夠訪問你的存儲數據。就像'<%= form_for @task do | t | %>'。然後你可以使用'<%t.select ...,:selected => t.complete'。 也許這取決於你的rails版本 – Tobas

1

您可以輕鬆地使用Ajax做到這一點。您可以收聽選擇標籤上的onchange事件。

這是網上imo最好的ajax on rails指南,所以也許你可以從它得到一些提示。

相關問題