在使用Model的has_one,has_many的疑问

class Province < ActiveRecord::Base
  has_many :cities
end

       在使用Model的时候出现了这样的一个问题,不太明白:

1.model的user代码

 

class User < ActiveRecord::Base
  
  belongs_to :city

end

2. model的city代码

 

class City < ActiveRecord::Base
  belongs_to :province
  has_many   :users
end

 

3.model的provinces的代码

 

class Province < ActiveRecord::Base
  has_many :cities
end

 

在保存user对象的时候报出错误,没有为属性province设置方法。

 

user对象和porvince的对象是通过city对象关联起来的,在user对象中不保存province对象,通过city的对象来访问关联的province对象,user.city.province来访问,为什么必须为province设置属性接口?

在设置后一切正常,也可以通过user.city.province来访问province对象,这样,间接关联起来的对象,如果数据库表未设置相关属性,必须为其设置虚拟属性么?

 

  

你可能感兴趣的:(ActiveRecord)