2016-04-13 7 views
-2

Wie kann ich eine Todo-Liste in Ruby auf Schienen mit so vielen Ebenen von todo_items wie ich will bauen?Rails: Build Todo Liste mit unendlichen Ebenen von todo_items

Ich habe viele Todolist mit zwei oder drei Ebenen gesehen, aber was ist, wenn ich 15 Ebenen möchte?

Muss ich 15 Arten von Todo-Objekten erstellen oder gibt es einen anderen Weg?

+0

Können Sie ein Beispiel nennen? Das ist vage. – trh

Antwort

0

Verschachtelte Modelle, Objekte und Daten sind ein relativ häufiges Muster. Eine einfache erste Iteration würde Ihrem Task-Modell ein "Eltern" -Attribut hinzufügen. Ein Objekt kennt immer seine Eltern. Wenn kein Elternteil vorhanden ist, handelt es sich um eine Top-Level-Aufgabe.

Dieser Ansatz eignet sich am besten für die Darstellung einfacher Baumstrukturen, die kein ausgefeiltes Traversal, Suchen oder Aktualisieren erfordern.

Die Migration könnte in etwa so aussehen:

class AddParentIdToTask < ActiveRecord::Migration 
    def change 
    add_column :tasks, :parent_id, :integer 
    end 
end 

Eine nette Diskussion von Baumstrukturen finden Sie hier: https://www.leighhalliday.com/tree-structures-in-your-rails-models

Verwandte Themen