Je conçois une application ruby on rails pour une pharmacie, et l'une des caractéristiques est qu'il y a des magasins qui ont des pharmaciens qui y travaillent. En outre, il existe des pharmaciens, qui peuvent travailler dans de nombreux magasins. Cela ressemble à un travail pour HABTM, non? Eh bien, étant le novice que je suis, j'ai conçu manuellement une solution de contournement (parce que je n'ai jamais entendu parler de HABTM - je me suis fondamentalement appris les rails et je n'ai jamais eu de relations plus avancées). À l'heure actuelle, lorsqu'un pharmacien est enregistré, il y a quelques lignes dans l'action de création et de mise à jour du contrôleur des pharmaciens qui transforme les magasins dans lesquels ils travaillent en une chaîne, chaque magasin étant séparé par une virgule. Ensuite, quand un magasin est affiché, il fait une demande MYSQL par @pharmacists = Pharmacist.find :all, :conditions => "stores REGEXP '#{@store.id}'"
rails has_and_belongs_to_many ou implémentation manuelle
Déplacerait-il ce système sur un système HABTM basé sur des rails serait-il plus efficace? Bien sûr, cela exigerait moins de code à la fin, mais cela en vaudrait-il la peine? En d'autres termes, quels avantages, autres que le code, en retireraient-ils pour que cette association soit gérée par des chemins de fer?
Merci! Je l'ai implémenté et c'était tellement facile - il a fallu environ 1/5ème du code que j'ai utilisé auparavant et était significativement plus facile que prévu. Ces méthodes qui viennent avec la relation has_and_belongs_to_many seront très utiles dans les projets futurs, et plus tard dans la réalisation de ce projet. –