2015-10-06 42 views
-1

我想在用戶查看消息時將狀態更新爲1。如何更新ruby中的活動記錄

我需要一個有效記錄的,要改變爲1,status其中狀態爲0和id是電流id

任何幫助理解。 我想將此查詢更改爲活動記錄。

UPDATE 'course_queries SET status = '1' WHERE course_queries.id =41 and status=0;

回答

0

正如Nithin提到的,ActiveRecord是一個rails功能。因此,除非您使用Ruby on Rails框架,否則以下方法無效。

雖這麼說,你也可以嘗試:

@course = CourseQuery.where(id: params[:id], status: 0).each do |q| 
    q.update(status: 1) 
end 

如果你需要把一切都行,你可以使用:

@course = CourseQuery.where(id: params[:id], status: 0).update_all(status: 1) 

然後,您可以更改ID或狀態這裏動態。 :)

由於這些示例使用update和update_all方法,所以我建議您閱讀它們。這裏有一篇很好的文章,我找到了差異:Difference between active record methods – update, update_all, update_attribute, update_attributes

+0

謝謝@ jr180180 ...這工程 – SreRoR

+0

如果請你能避免這種循環並給出答案。 – SreRoR

+0

對不起,我不確定你的循環意味着什麼。發生了什麼? – jr180180

2

像這樣的事情

的ActiveRecord是Rails功能。

@course_query = CourseQuery.find(params[:id]) #id is 41 from your comment 
    if @course_query.status == 0 
    @course_query.status = 1 
    @course_query.save 
    end 
+1

這不是更新 – SreRoR

+1

什麼是錯誤? 'print @ course_query.errors' – Nithin

+0

我更新了以上我的控制器和錯誤 – SreRoR