如何拥有动态预定义集合Rails 3

时间:2013-05-11 01:37:31

标签: ruby-on-rails ruby ruby-on-rails-3

我正在编写一个包含两个模型的应用:文档和要求。每个文档都有一个类型,并且根据该类型,有许多要求。每个要求都有一个状态(已完成或未完成)和描述。

问题是,Document类型和Requirement描述值是预定义的,每个可能的值都应存储在动态集合中,以便用户可以扩展它们。

我提出的第一个解决方案是创建另外两个模型:DocumentType和ReqDescription,两者都只有一个名为name的属性,其值为自身。此外,两个模型都有自己的控制器用于创建和销毁集合中的任何值,当应用程序启动时,它们将具有许多预定义实例,因此与其所有者具有has_many关系(Document for DocumentType和Require for ReqDescription),他们扮演动态集合的角色。

DocumentType < ActiveRecord::Base
    has_many :Documents
    ...
end
Document < ActiveRecord::Base
    belongs_to :DocumentType
end

ReqDescripcion < ActiveRecord::Base
    has_many :Requirements 
end
Requirement < ActiveRecord::Base
   belongs_to :ReqDescription
end

有没有更好的方法来处理这个问题?像宝石一样。

0 个答案:

没有答案