2009-06-22 6 views
6

Sto pianificando di scrivere un nuovo codice UI e molte persone hanno suggerito di utilizzare RoR. Ma da quanto ho letto su RoR finora, sembra quasi obbligatorio avere un database per memorizzare i dati di back-end. Nel mio caso, non ho accesso a un database e tutti i miei oggetti di dati sono disponibili tramite servizi Web (alcuni servizi REST e SOAP).Posso usare Rails senza un database e chiamare solo servizi Web?

Penso di dover utilizzare il controller per parlare direttamente con i servizi in questo caso, ma è comunque consigliabile utilizzare RoR senza il layer del modello (ActiveRecord).

Ci sono altri framework più adatti per questo tipo di approccio (posso usare qualsiasi cosa in Java o Ruby, non abbiamo alcun codice PHP o Python).

risposta

3

Rails funzionerà bene per questo; supporta esplicitamente l'esecuzione senza ActiveRecord. Vedere il commento nel file predefinito 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 ] 

Il file database.yml verrà ignorato se non si carica ActiveRecord; tutti i tuoi modelli possono ereditare da ActiveResource :: Base e funzioneranno perfettamente.

+0

Quindi è possibile impostare anche le convalide in questo modo? – Arvind

+0

Non dovrebbero essere all'altro capo della chiamata di servizio? E se non lo sono, non potresti semplicemente scavalcare il metodo di salvataggio? –

0

Se i servizi Web sono tutto ciò che fai, ti consiglio di specificare sinatra. Sinatra rende le applicazioni che funzionano sui servizi Web un gioco da ragazzi. Se desideri un approccio simile sul client con gli URL dei frammenti, consulta sammy. Sono entrambi fantastici per la creazione di applicazioni Web che hanno origini dati non tradizionali.

Problemi correlati