Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在ruby中更新活动记录_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails 如何在ruby中更新活动记录

Ruby on rails 如何在ruby中更新活动记录,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,当用户查看消息时,我想将状态更新为1 我需要一条活动记录,将状态更改为1,其中状态为0,id为当前id 感谢您的帮助。 我想将此查询更改为活动记录 UPDATE'course\u querys SET status='1',其中course\u querys.id=41,status=0类似这样的代码 使用ActiveRecord @course_query = CourseQuery.find(params[:id]) #id is 41 from your comment if @cou

当用户查看消息时,我想将状态更新为1

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

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

UPDATE'course\u querys SET status='1',其中course\u querys.id=41,status=0

类似这样的代码

使用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
像这样的

使用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

正如Nithin提到的,ActiveRecord是rails的一个特性。因此,除非您使用RubyonRails框架,否则以下内容将无法工作

话虽如此,您也可以尝试:

@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方法,我建议您仔细阅读它们。我发现了一篇关于这些差异的优秀文章:

正如尼钦所提到的,ActiveRecord是rails的一个特性。因此,除非您使用RubyonRails框架,否则以下内容将无法工作

话虽如此,您也可以尝试:

@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方法,我建议您仔细阅读它们。我发现了一篇关于这些差异的优秀文章:

如果你能避免这种循环并给出答案,请回答。对不起,我不确定你所说的循环是什么意思。发生了什么事?如何在不添加每个循环的情况下写作啊,明白了。您可以使用Rails update_all方法。我已经更新了我的答案。如果你能避免这个循环并给出答案。对不起,我不知道你说的循环是什么意思。发生了什么事?如何在不添加每个循环的情况下写作啊,明白了。您可以使用Rails update_all方法。我已经更新了我的答案。ActiveRecord可以在没有rails的情况下完全独立使用。TiveRecord可以在没有rails的情况下完全独立使用