Ich möchte eine Art Favoritenliste implementieren. Lass uns eine Playliste für dieses Beispiel nehmen:
%Vor%Die Reihenfolge der Songs sollte gespeichert werden und der Benutzer sollte in der Lage sein, diese Reihenfolge neu anzuordnen und neue Elemente an einem beliebigen Punkt in der Liste einzufügen.
Meine Idee ist, ein Feld "position" zu verwenden und es für alle Elemente der Liste zurückzusetzen, wenn die Liste gespeichert wird. Ich denke, das ist, was Javas Hibernate tut.
Eine andere Idee ist es, Positionsnummern mit einem großen Unterschied zu verwenden, sagen wir 1000, so dass noch Platz für Änderungen bleibt:
%Vor%Song C wird zwischen A und D mit der Positionsnummer 1500 eingefügt:
%Vor%Irgendwelche besseren Ideen?
Wenn Sie Ihre eigenen rollen möchten, können die Antworten auf diese Frage hilfreich sein:
Scheint so, als ob der Konsens darin besteht, einfach ein Bestellfeld zu verwenden und alle beim Speichern neu zu ordnen. Sie können den Umfang der Datenbankarbeit verringern, wenn Sie dem Benutzer erlauben, die Client-Seite interaktiv neu zu ordnen, und einfach die endgültige Liste senden, um sie auf dem Server zu speichern.
Tags und Links ruby-on-rails-3 ruby-on-rails list orm order