2009-03-30 8 views
5

J'ai l'intranet que j'ai développé à l'époque avec PHP.Comment consolider l'application de plusieurs rails et partager les ressources

Je gère plusieurs applications et outils (blog, partage de liens, partage de fichiers, événements, clendar ...), et un grand système d'autenthication utilisateur pour la connexion et la gestion des autorisations. Je voudrais commencer à le reconstruire avec Rails


Je ne veux pas construire une grande application. Je voudrais construire le site en plusieurs petites applications, partageant quelques ressources communes comme le système de gestion des utilisateurs, les modèles, les mises en page et la navigation ...

Rails Engine fournir un moyen d'intégrer une application dans un autre.
Je suppose que je pourrais avoir une application "principale", en intégrant toutes les autres applications. Mais je ne pense pas que ce soit la bonne façon (j'ai peut-être tort) si j'ai 10-15 applications différentes.

Comment le feriez-vous?

Merci.

Répondre

1

Nous avons créé des applications qui sont scindées en 2: le site utilisateur et un site d'administration. Nous venons de créer 2 sites distincts qui ont les mêmes modèles db et models et leurs propres vues et contrôleurs. Cela fonctionne plutôt bien et nous donne la liberté de traiter chaque site différemment en termes de sécurité et de déploiement.

Je n'ai aucune expérience pour aller plus loin que cela.

1

Check out ActiveResource - il est conçu pour vous permettre d'utiliser webservices RESTful comme si elles étaient des objets ActiveRecord.

Je travaille sur un projet maintenant avec un tas de sous-applications distinctes qui sont de purs services Web (pas d'interface utilisateur). Il y a une application "principale" qui a toutes les interfaces utilisateur et gère le login/l'authentification, puis accède aux autres via ActiveResource.

0

Vous pouvez partager les modèles entre les projets en ajoutant

config.autoload_paths << Dir["SHARED_MODEL_PATH/app/models/*"] 

à votre application.rb fichier de configuration.

Ou vous pouvez vérifier les tutoriels sur ActiveResource tels que:

Questions connexes