rails基于命名空间的模型关系的表述
关键字:Model层次化,Model的目录结构,Model如何使用命名空间
水平的model,没有层次,对于大型的应用来说,确实难以维护。
所以在model层面建立命名空间也成为必然的选择。
创建命名空间下的模型:rails g model AppDr::Dr name:string
会创建如下类:
class AppDr::Dr
include Mongoid::Document
end
此类的调用方法的重点在于使用命名空间:AppDr::Dr.new
这里还有一个类,User
class User
include Mongoid::Document
end
两者的关系是,user与Dr是一对多的关系。如何表达这个关系呢?
Dr中增加
belongs_to :user? #这与普通的模型没有不同;
User中增加
has_many :drs,class_name:"AppDr::Dr"? 即可。