2009-06-22 8 views
6

Je prévois d'écrire un nouveau code d'interface utilisateur et de nombreuses personnes ont suggéré d'utiliser RoR. Mais d'après ce que j'ai lu sur RoR jusqu'à présent, il semble presque obligatoire d'avoir une base de données pour stocker les données backend. Dans mon cas, je n'ai pas accès à une base de données et tous mes objets de données sont disponibles via les services Web (certains services REST et SOAP).Puis-je utiliser Rails sans base de données et uniquement appeler des services Web?

Je pense que je dois utiliser le contrôleur pour parler directement aux services dans ce cas, mais est-ce toujours une bonne idée d'utiliser RoR sans la couche modèle (ActiveRecord).

Y a-t-il d'autres frameworks plus adaptés à ce type d'approche (je peux utiliser n'importe quoi en Java ou Ruby, nous n'avons pas de code PHP ou Python).

Répondre

3

Les rails fonctionneront très bien pour cela; il supporte explicitement l'exécution sans ActiveRecord. Voir le commentaire dans le fichier par défaut environment.rb:

# Skip frameworks you're not going to use. To use Rails without a database 
# you must remove the Active Record framework. 
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ] 

Votre fichier database.yml sera ignoré si vous ne chargez pas ActiveRecord; tous vos modèles peuvent hériter de ActiveResource :: Base et fonctionneront très bien.

+0

Donc, je peux avoir les validations également configurées de cette façon? – Arvind

+0

Ne seraient-ils pas à l'autre bout de l'appel de service? Et si ce n'est pas le cas, ne pourriez-vous pas remplacer la méthode de sauvegarde? –

0

Si les services Web sont tout ce que vous faites, alors je recommanderais . Sinatra rend les applications qui fonctionnent sur les services Web un jeu d'enfant. Si vous souhaitez une approche similaire sur le client avec des URL fragmentées, consultez sammy. Ils sont géniaux pour la création d'applications Web qui ont des sources de données non traditionnelles.

Questions connexes