Rails:自我指导有多少模型有效?
所以,我正在开发一个应用程序,我希望用户能够在“文件夹”中对对象进行分组。 基本上:
User has_many :foos
Foos不必在文件夹中,但它们可以。 在这种情况下:
Folder has_many :foos
和Foo belongs_to :folder
现在,我希望能够设置文件夹,以便它们可以嵌套。 我觉得这就像……
Folder has_many :folders
我听说这种自我指涉关系没什么大不了的,但我真的不知道它是如何运作的。 我无法弄清楚应该如何在模型中声明这个以及我需要在数据库中提供哪些列。
有人可以提供一个例子吗? 我还重视您在应用程序中建立此类关系时可能提供的任何建议/提醒/警告/经验教训。
谢谢!
结束coreyward对这个问题的回答: 创建一个具有树结构的模型
基本上你想在你的文件夹表中添加一个“parent_id”字段,然后在你的文件夹模型中建立一个关系,如下所示:
belongs_to :parent, :class_name => "Folder" has_many :folders, :foreign_key => "parent_id"