我有三个型号, 程式 Subprograms1 Subprograms2
程序 - > has_many:subprograms1,:subprograms2
子程序1 - > has_and_belongs_to_many:程序
子程序2 - > has_and_belongs_to_many:程序
我想让所有Subprograms1和Subprograms2属于特定的程序。
是否可以使用rails。
提前致谢......
答案 0 :(得分:0)
如果我理解正确,您只需访问程序模型中的属性即可访问所有Subprograms1和Subprograms2
p = Programs.find(10)
sp1 = p.Subprograms1
sp2 = p.Subprograms2
答案 1 :(得分:0)
如果数据中的结构是扁平的(没有其他子程序下面的子程序),您可以使用Active Record的Polymorphic Associations来使用对多个其他表(不仅仅是一个)的引用,因此您可以设置来自程序到子程序1 和到子程序2,并通过一次调用将它们全部检索。
如果数据中的结构很深(子程序可以包含其他子程序),您应该将所有3个表放入一个表中,并使用Nested Set Model来管理数据树并检索所有(深层)与程序相关的子程序。有many Ruby Gems可以帮助您实现这一目标。