如何更新ruby中的活动记录

问题描述 投票:0回答:2

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

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

任何帮助表示赞赏。我想将此查询更改为活动记录。

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

ruby-on-rails activerecord
2个回答
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


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
© www.soinside.com 2019 - 2024. All rights reserved.