我正在考虑使用“has_many:through”创建以下模型:
class Contract < AR::Base
has_many :clientlines
has_many :codelines
has_many :clients, :through => :clientlines
has_many :codes, :through => :codelines
end
class clientlines < AR::Base
belongs_to :contract
belongs_to :client
end
class Client < AR::Base
has_many :clientlines
has_many :contracts, :through => :clientlines
end
class codeline < AR::Base
belongs_to :contract
belongs_to :code
units_alloc -------**I would like to add this attribute after this intermediate
end has been created?
class Code < AR::Base
has_many :codelines
has_many :contracts, :through => :codelines
end
例如,我是否首先使用“rails generate model Contract authnum:string, client_id:integer, st_date:date, end_date:date”创建模型。然后在迁移之前填写所有关联?
另外,我的理解是,在使用 has_many :through 关联时,所有连接表都是由 rails 自动创建的。什么时候发生?
最后,如 ** 所示,我可以在代码行中使用此属性吗?我是否可以创建一个“rails generate migration add_units_alloc_to_codelines units_alloc:number”以便将此属性添加到连接表中?我还想知道如何将数字声明为小数点后两位?
如果您有时间和意愿,您能否评论一下我为我的数据库提出的设计?
谢谢。