Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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 On Rails_Model_Callback_Stack Level - Fatal编程技术网

Ruby on rails 堆栈级别太深,可能是递归的,但不确定

Ruby on rails 堆栈级别太深,可能是递归的,但不确定,ruby-on-rails,model,callback,stack-level,Ruby On Rails,Model,Callback,Stack Level,我得到了一个堆栈级别太深的错误,我认为这与以下代码有关,但我不确定如何修复它: after_save :update_milestone def update_milestone if order % 50 == 0 self.update_attributes(is_milestone: true) else self.update_attributes(is_milestone: false) end

我得到了一个
堆栈级别太深的错误,我认为这与以下代码有关,但我不确定如何修复它:

   after_save :update_milestone

   def update_milestone
      if order % 50 == 0
         self.update_attributes(is_milestone: true)
      else
         self.update_attributes(is_milestone: false)
      end
   end

任何想法

您调用的是命中验证的更新属性。这会在保存后触发回调,从而导致错误

你想要:

self.update_column(:is_milestone, value)

这不会触发验证。

您正在调用命中验证的更新属性。这会在保存后触发回调,从而导致错误

你想要:

self.update_column(:is_milestone, value)

这不会触发验证。

您正在调用命中验证的更新属性。这会在保存后触发回调,从而导致错误

你想要:

self.update_column(:is_milestone, value)

这不会触发验证。

您正在调用命中验证的更新属性。这会在保存后触发回调,从而导致错误

你想要:

self.update_column(:is_milestone, value)

这不会触发验证。

而不是使用带有两个更新的if语句。。。为什么不在更新中使用条件的值?如下所示:
self.update\u属性(is\u里程碑:order%50==0)
而不是使用带有两个更新的if语句。。。为什么不在更新中使用条件的值?如下所示:
self.update\u属性(is\u里程碑:order%50==0)
而不是使用带有两个更新的if语句。。。为什么不在更新中使用条件的值?如下所示:
self.update\u属性(is\u里程碑:order%50==0)
而不是使用带有两个更新的if语句。。。为什么不在更新中使用条件的值?如下所示:
self.update\u attributes(is\u milestone:order%50==0)
保存后更新\u milestone
->
自我。保存后更新\u attributes
->
更新\u milestone
->
自我。更新\u attributes
->谢谢您的建议<代码>保存后
->
更新里程碑
->
自我。更新属性
->
保存后
->
更新里程碑
->
自我。更新里程碑
->谢谢您的建议<代码>保存后
->
更新里程碑
->
自我。更新属性
->
保存后
->
更新里程碑
->
自我。更新里程碑
->谢谢您的建议<代码>保存后->
更新里程碑
->
自我。更新属性
->
保存后
->
更新里程碑
->
自我。更新里程碑
->谢谢您的建议!