2010-11-08 15 views
1

Si je crée une application Ruby on Rails composée d'un site Web public et d'un site Web d'administration privée, quelle est la meilleure pratique pour ce faire dans Ruby on Rails? Je veux m'assurer que je suis fidèle au principe DRY et éviter la duplication des fonctionnalités telles que les opérations CRUD. La solution la plus logique que j'ai rencontrée est de créer des services RESTful pour gérer ces tâches et utiliser ActiveResource pour les utiliser à partir des sites Web.Meilleure pratique pour créer un site public et un site d'administration privé à l'aide de Ruby on Rails?

Est-ce la meilleure approche? Si non, que devrais-je envisager?

Merci!

Répondre

3

l'utilisation de activeresource peut être plus compliquée que si vous n'utilisez pas. parce que le problème si vous voulez éviter la duplication de code est le contrôleur.

Vous voulez deux sites Web 1 différents à l'avant et un autre en arrière-plan afin que chacun d'eux n'ait pas la même vue.

Vous demandez sur la base de données sont les mêmes entre votre front et le backend, donc il n'y a pas de problème de duplication de code. Vous pouvez l'utiliser dans les deux parties.

La seule partie où vous pouvez avoir du code dupliqué est le contrôleur. Mais dans ce cas, vous devez ajouter des règles d'autorisation ou ne pas avoir le même chemin que le code dupliqué est vraiment peu.

Donc pour moi, vous avez juste besoin d'un site web de code 2 avec la plus petite partie du contrôleur pour éviter de maximiser le code dupliqué.

+0

Merci pour vos commentaires. Comment partageriez-vous, disons, le code du modèle entre les deux applications? Plugins? Gems? –

+1

fait une seule application :) à la place, vous pouvez mettre tous votre modèle dans une gemme. J'ai déjà fait. – shingara