Rails: Как работают самореферентные модели has_many?

Итак, я работаю над приложением, в котором я хочу, чтобы пользователи могли группировать объекты в «папки». В основном:

Пользователь has_many: foos

Файлы Foo не обязательно должны находиться в папке, но могут быть. В этом случае:

Папка has_many: foos и Foo own_to: folder

Теперь я хотел бы иметь возможность настраивать папки, чтобы они могли быть вложенными. Я думаю, это что-то вроде ...

Папка has_many: folder

Я слышал, что такого рода отношения со ссылками на себя не имеют большого значения, но я не Я действительно понимаю, как это работает. Я не смог понять, как это должно быть объявлено в модели и какие столбцы мне нужно предоставить в базе данных.

Кто-нибудь может предложить пример? Я также ценю любые предложения / предупреждения / предупреждения / извлеченные уроки, которые вы могли бы предложить по настройке такого рода отношений в приложении.

Спасибо!

15
задан Andrew 24 February 2011 в 20:12
поделиться