Rails:自我指导有多少模型有效?

And*_*rew 15 activerecord model ruby-on-rails self-join ruby-on-rails-3

所以,我正在开发一个应用程序,我希望用户能够在"文件夹"中对对象进行分组.基本上:

User has_many :foos

Foos不必在文件夹中,但它们可以.在这种情况下:

Folder has_many :foosFoo belongs_to :folder

现在,我希望能够设置文件夹,以便它们可以嵌套.我觉得这就像......

Folder has_many :folders

我听说这种自我指涉关系没什么大不了的,但我真的不知道它是如何运作的.我无法弄清楚应该如何在模型中声明这个以及我需要在数据库中提供哪些列.

有人可以提供一个例子吗?我还重视您在应用程序中建立此类关系时可能提供的任何建议/提醒/警告/经验教训.

谢谢!

Wiz*_*Ogz 31

结账coreyward在这里回答问题: 创建一个具有树结构的模型

基本上你想在你的文件夹表中添加一个"parent_id"字段,然后在你的文件夹模型中设置一个关系,如下所示:

belongs_to :parent, :class_name => "Folder"
has_many :folders, :foreign_key => "parent_id"
Run Code Online (Sandbox Code Playgroud)