如何更新ruby中的活动记录

时间:2015-10-06 07:20:39

标签: ruby-on-rails activerecord

当用户查看邮件时,我想将状态更新为1.

我需要一个活动记录,将状态更改为1,其中status为0,id为当前id

感谢任何帮助。 我想将此查询更改为活动记录。

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

2 个答案:

答案 0 :(得分:2)

像这样的东西

使用ActiveRecord。

@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 :(得分: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