Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 ActiveRecord\u关联\u CollectionProxy与<;型号名称>;::ActiveRecord\u关联\u集合代理_Ruby On Rails - Fatal编程技术网

Ruby on rails ActiveRecord\u关联\u CollectionProxy与<;型号名称>;::ActiveRecord\u关联\u集合代理

Ruby on rails ActiveRecord\u关联\u CollectionProxy与<;型号名称>;::ActiveRecord\u关联\u集合代理,ruby-on-rails,Ruby On Rails,有人知道为什么当我把所有的子项都放到一个特定的记录中时,我会得到一个ModelName::ActiveRecord\u Associations\u CollectionProxy结果吗 这导致了很多问题,因为我无法以任何方式从中获得所需的元素 我有一个模型导航url,我正在做一个递归旅行 #resources is a collection of navUrl def add_items resources items = Array.new resources.each do |r

有人知道为什么当我把所有的子项都放到一个特定的记录中时,我会得到一个ModelName::ActiveRecord\u Associations\u CollectionProxy结果吗

这导致了很多问题,因为我无法以任何方式从中获得所需的元素

我有一个模型导航url,我正在做一个递归旅行

#resources is a collection of navUrl
def add_items resources
  items = Array.new

  resources.each do |r|
       if  r.nav_url.count == 0
         items << { :name =>  r.name , :link => r.link }
       else
         nav_urls = r.nav_url
         items << { :name =>  r.name , :link => r.link , :items => add_items(nav_urls)}
       end
     end

   items
 end

resources.class给了你什么?@forthowin它给了我NavUrl::ActiveRecord\u Associations\u CollectionProxy。添加了更多信息。resources.class在第二次传递中给了你什么?得到了问题r.nav_url给了我一个新的r:)谢谢帮助@forthowin
resources = NavUrl.where(nav_url_id: nil)
add_items resources