2010-02-06 8 views
2

Ceci est un peu différent de rememebering dire tri par date ou tri par alphabet. J'ai une liste d'éléments, que j'aimerais permettre à l'utilisateur de réorganiser. Plus important encore, j'aimerais me souvenir de cet ordre. Comment ferais-je cela?Maintien d'un ordre d'éléments spécifié par l'utilisateur dans Rails

+0

Comment décririez-vous mettre en œuvre la façon dont l'utilisateur les arrange? – JRL

Répondre

3

Utilisez le acts_as_list act. Mettez acts_as_list dans votre modèle, ajoutez le champ "position", qui correspond à integer, à la table que vous souhaitez trier et créez les nouvelles actions pour les différentes sortes.

La documentation pour acts_as_list à laquelle j'ai lié a des exemples de code, mais si vous avez besoin de plus d'aide, laissez un commentaire et je l'éditerai.

+2

Si chaque utilisateur peut accéder au même objet, vous aurez besoin d'une classe de mapping entre ceux-ci. Exemple: 'User <- FavoriteShopItem -> ShopItem' et' acts_as_list' sur 'FavoriteShopItem'. –

2

Ceci est un engagement/une réponse à la réponse acceptée ci-dessus. Acts_as_list n'est pas conçu pour autre chose qu'un prototype, et dès le départ, il ne gère pas du tout la concurrence ou l'intégrité des données. À tout le moins, vous devez définir votre niveau d'isolation à sérialisable! Voici un short screen cast avec plus d'informations, et quelques solutions de contournement.

En outre, le lien correct est github.com/rails/acts_as_list