2015-08-26 32 views
0

如何在Rails中編寫Coffeescript函數來更新數據庫列?我猜Ajax電話的種類將是理想的:從Coffeescript更新用戶屬性?

id = $('#document').attr('data-document-id') 
$.ajax 
    url: "/documents/#{id}/update_attr" 
    type: "GET" 
    success: (data) -> 
    console.log(data) 

是這樣的唯一方法?還是有更好的?

回答

2

好的,請記住,前端代碼(html,css,js)無法直接訪問數據庫。所以你需要一個AJAX請求。

REST最佳實踐將要求您使用POST/PUT/PATCH方法,而不是GET方法,該方法不應該更改應用程序的狀態。

此外,你沒有傳遞任何價值的Rails後端。

$.ajax 
    url: "/whatever/#{id}" 
    type 'POST' 
    data: 
    key: value 
    success: (data)-> 
    console.log data 

在鐵軌邊,你需要設置在配置適當的路由/ routes.rb中

post '/whatever/:id', to: 'some_controller#some_action' 

仍然理想,下面的最佳實踐,你可能有某種

resources :apples 

已映射到一個ApplesController。您現在可以落實在行動上,這將是這樣的:

該實現是不完整的(它不處理HTML請求,多密鑰更新等花哨的東西),但它仍然應該解決您的問題。