Breaking a large rails app into smaller apps?Jak mogę zaimplementować modularyzację w aplikacji Rails?
Modularizing Rails applications
Best practice for structuring a 'large' Rails app
mam szybkie pytanie na modułowości w dużej Ruby on Rails App.
Setup:
buduję app rdzenia, który przechowuje informacje o osobach. Posiadam również kilka "modułów", które wykorzystują te informacje na różne sposoby. (np. można wyświetlać informacje o ludziach, inny może wymyślić połączenia i podobieństwa między nimi, itp.).
Pytanie:
Jak zmodularyzowanie tę aplikację efektywnie?
Potencjalne Odpowiedzi:
Od modeli modułów akcji i poglądów z aplikacji bazowej (i siebie) ma sens dla mnie, aby połączyć je w jednej aplikacji. Jednak wraz ze wzrostem aplikacji będzie to oczywiście prowadzić do problemów. To mi sugeruje albo Namespacing kontrolerów i modeli "How to organize controller in moderately large Rails application?" lub za pomocą silników "Modularizing Rails applications".
Ponieważ moduły są w fazie rozwoju, bardzo pomocne jest użycie generatorów szyn, co sprawia, że używanie Silników jest bolesne. Wydaje się również, że podczas gdy silniki są w pełni obsługiwane z punktu widzenia Railsów, nadal wydają się dość hackowate w odniesieniu do braku obsługi generatora i migracji baz danych. Czy ktoś ma doświadczenie w konstruowaniu silników? Wygląda na to, że silniki byłyby świetnym rozwiązaniem, gdybyś miał działającą aplikację i chciałbyś przenieść ją do wtyczki (to znaczy skopiować kod wklejania), ale jeśli aktywnie ją rozwijasz (zmieniając modele itp.) Byłoby to trudne.
Ostatnią rzeczą, którą zobaczyłem, jest używanie wielu aplikacji i jednej bazy danych. Ten sposób wydaje się być królewskim bólem z migracjami i utrzymywaniem modeli prosto itd. Ale myślałem, że również będę o tym myślał.
Dobry sposób łączenia do SO pytania - nie wiedziałem, że istnieje! – Zabba
"Buduję podstawową aplikację, która przechowuje informacje o [czymkolwiek] .Mam też kilka" modułów ", które wykorzystują te informacje w bardzo różny sposób." To może opisać prawie każdą aplikację railsową kiedykolwiek zbudowaną! :-) Czy możesz dokładniej określić swoje sterowniki? Powiedz nam przynajmniej, ile masz bytów. – Rob