测试您例如使用Rails 4.2.4我发现的关系实际上是继承。
class Address < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :addresses
end
class OriginalUser < User
end
在导轨控制台:
2.2.3 :001 > user = User.create({name: 'Martin'})
2.2.3 :002 > address = Address.create({city: 'Berlin'})
2.2.3 :003 > user.addresses << address
2.2.3 :004 > address.user
=> #<User id: 1, name: "Martin", created_at: "2015-10-09 18:15:17", updated_at: "2015-10-09 18:15:17">
2.2.3 :005 > original_user = OriginalUser.create({name: 'Steel'})
2.2.3 :006 > another_address = Address.create({city: 'Boulder'})
2.2.3 :007 > original_user.addresses << another_address
2.2.3 :008 > another_address.user
=> #<OriginalUser id: 2, name: "Steel", created_at: "2015-10-09 18:20:58", updated_at: "2015-10-09 18:20:58">
2.2.3 :009 > original_user.addresses
=> #<ActiveRecord::Associations::CollectionProxy [#<Address id: 2, city: "Boulder", user_id: 2, created_at: "2015-10-09 18:22:14", updated_at: "2015-10-09 18:22:48">]>
从轨道控制台:'O = OriginalUser.new; o.addresses'应该返回'#'。有没有特别的东西没有用? –
在您的评论@ TK-421之后,我重新检查了一下,它确实不是问题。不知道我在想什么......谢谢。 – steel