2010-08-03 3 views
0

Contexte - J'ai un modèle, disons Door, qui a un état ouvert ou fermé. Je encapsule le comportement de l'ouverture de la porte dans une méthode #open sur chaque instance (Et j'ai aussi un équivalent #close).RESTful Rails & comportement d'encapsulation

Mais quelle est la meilleure façon d'exposer cela de manière RESTful? Quel devrait être mon itinéraire?

C'est une instance UPDATE to Door, mais avec quoi dois-je mettre à jour?

Cheers, Gordon

Répondre

2

Il n'y a pas de meilleure façon que tout le monde serait d'accord.

Certaines personnes ajoutaient deux actions personnalisées open et close à leurs contrôleurs, qui appelaient ensuite les méthodes respectives sur le modèle Door.

D'autres personnes utiliseraient la méthode de contrôleur update pour modifier tout attribut utilisé par la porte pour stocker son état ouvert/fermé. par exemple. un champ booléen closed. Ils pourraient aussi argumenter que vous ne devriez pas avoir de méthodes dédiées open et close en plus de l'attribut closed, et que vous implémentez avec des validations et des rappels quel que soit open/close utilisé pour encapsuler. Ma recommandation est de ne pas trop se soucier de RESTfulness et de toujours choisir la manière la plus pratique.

+0

Merci henning-koch, il y a un étrange réconfort de savoir qu'il n'y a pas de meilleur moyen! Probablement parce que je m'y attendais! –

Questions connexes