Я разрабатываю рубин для приложений для аптеки, и одна из особенностей заключается в том, что есть магазины, у которых есть фармацевты, которые там работают. Кроме того, есть фармацевты, которые могут работать во многих магазинах. Это звучит как работа для HABTM, верно? Ну, будучи новичком, я вручную разработал обходное решение (потому что я никогда не слышал о HABTM - я в основном учил себя рельсам и никогда не попадал в некоторые более продвинутые отношения). Прямо сейчас, когда аптекарь сохранен, есть пара строк в действии создания и обновления контроллера фармацевтов, который превращает магазины, в которых они работают, в строку, причем каждый store_id разделяется запятой. Затем, когда отображается магазин, он запрашивает запрос MYSQL на @pharmacists = Pharmacist.find :all, :conditions => "stores REGEXP '#{@store.id}'"
rails has_and_belongs_to_many или ручная реализация
Передвинул ли эту систему на систему HABTM на основе рельсов более эффективно? Конечно, в конце концов, это потребует меньше кода, но будет ли оно того стоить? Другими словами, какие выгоды, кроме меньшего кода, я получаю от перемещения этой ассоциации, которой управляют рельсы?
Спасибо! Я реализовал его, и это было так просто - потребовалось около 1/5 кода, который я использовал раньше, и был значительно проще, чем я ожидал. Те методы, которые приходят вместе с отношениями has_and_belongs_to_many, окажутся полезными в будущих проектах и далее в будущем с этим проектом. –