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 Rails-ActiveRecord-它如何填充对象和关系?_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails Rails-ActiveRecord-它如何填充对象和关系?

Ruby on rails Rails-ActiveRecord-它如何填充对象和关系?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我注意到,通过编程方式从父对象遍历到子对象,然后再遍历,我得到的父对象与原始对象不同 例如: 父类:汽车 儿童班:座位 汽车有许多座位 我注意到了这一点,因为我最近通过一次迁移向Car添加了一个新的字符串字段,并且通过从seat向后遍历关系来读取它,该字段始终为零!但是,将该字段添加到scaffold视图并检查数据库时,新字段和值就在那里 这很奇怪,因为所有的旧字段都可用。只有新的一个不是。值得一提的是,倒数第二个字段也是一个字符串 引擎盖下发生了什么?我需要做什么?谢谢 让我们假设按家长和孩子

我注意到,通过编程方式从父对象遍历到子对象,然后再遍历,我得到的父对象与原始对象不同

例如:

父类:汽车

儿童班:座位

汽车有许多座位

我注意到了这一点,因为我最近通过一次迁移向Car添加了一个新的字符串字段,并且通过从seat向后遍历关系来读取它,该字段始终为零!但是,将该字段添加到scaffold视图并检查数据库时,新字段和值就在那里

这很奇怪,因为所有的旧字段都可用。只有新的一个不是。值得一提的是,倒数第二个字段也是一个字符串


引擎盖下发生了什么?我需要做什么?谢谢

让我们假设按家长和孩子的类别,你的意思是汽车有很多座位。您可以尝试告诉ActiveRecord一个关系是另一个关系的倒数

class Car < ActiveRecord::Base
    has_many :seats, :inverse_of => :car
end

class Seat < ActiveRecord::Base
    belongs_to :car, :inverse_of => :seats
end

谢谢你给我的提示:相反的,很好的阅读。不幸的是,它没有真正起作用。现在地址有点一致了,但有时仍然指向不同的地方。真的,最大的问题是,当我往回走的时候,这个区域消失了。。。如果我直接取汽车记录,它是可用的。我甚至尝试升级到3.1/1.9.2。。。
class Car < ActiveRecord::Base
    has_many :seats, :inverse_of => :car
end

class Seat < ActiveRecord::Base
    belongs_to :car, :inverse_of => :seats
end
d = Dungeon.first
t = d.traps.first
d.level == t.dungeon.level # => true
d.level = 10
d.level == t.dungeon.level # => true