Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 Modify在保存回调后\u中有\u多个相同类的模型_Ruby On Rails_Ruby On Rails 4_Rails Activerecord - Fatal编程技术网

Ruby on rails Modify在保存回调后\u中有\u多个相同类的模型

Ruby on rails Modify在保存回调后\u中有\u多个相同类的模型,ruby-on-rails,ruby-on-rails-4,rails-activerecord,Ruby On Rails,Ruby On Rails 4,Rails Activerecord,所以我有一节课: class Element < ActiveRecord::Base after_save :update_related_elements_pages belongs_to :page, counter_cache: true

所以我有一节课:

class Element < ActiveRecord::Base                                                                                     

  after_save :update_related_elements_pages                           

  belongs_to :page, counter_cache: true                               

  belongs_to :element, counter_cache: true                            
  has_many :elements

  def update_related_elements_pages
    self.elements.each do |rel_elem|       
      rel_elem.page_id = self.page_id
      rel_elem.save
    end
  end

end
class元素
现在,当我更新元素的
页面
关联时,我希望属于当前元素的所有元素也具有更新的关系。如您所见,我尝试使用回调来实现这一点


调用了回调,但不幸的是,
self.elements
为空。我错过什么了吗?有更好的方法吗?如果控制器更适合这样做,我也可以在控制器中这样做。

尝试创建一个连接模型,并使用
has\u many:to
来处理自引用关系

这里有一位优秀的铁路专家比我在这里解释得更好:


另一个资源:

谢谢您的链接。但它只是在那个特定的回调中被破坏了。在我看来,这段关系正如预期的那样运作。