我會PUT
在控制器的update
行動無論有latest_activity
領域。所以說,現場是Client
,我會使用RESTful風格的路線,像這樣:
# routes.rb
resources :clients
然後使用端點:
PUT /clients/52
當然然後ClientsController
得到一個update
方法,將字段設置到你已經提到的Time.now
。
Backbone本地/輕鬆地支持這種類型的URL方案。您對前端一Client
模型,你只需要做:
someClient.set({ latest_activity: new Date() });
someClient.save();
雖然那樣的對我說,你可能只是讓前端產生的時間戳,而不是在軌道做..否則,你真的只是發送一個虛假的價值(真實的日期,不會被使用或只是,例如,1
,然後'通知'在後端)。如果你發送一個真正的時間戳,你可以這樣做:
# app/controllers/clients_controller.rb
def update
c = Client.find(params[:id])
c.latest_activity = params[:latest_activity]
c.save
render :json => { :ok => true }
end
或沿着這些線。
感謝您的答案,但與發送客戶端生成的時間戳的問題是,客戶端可能有不同的t imezone。這就是爲什麼我想生成時間戳服務器端。如果您想查看,我已經發布了我的解決方案。 – 2012-03-25 15:07:44