Ruby on Rails: conversione di un'app per Rails 3 su Rails 2?

1

Recentemente ho appreso ruby su rail usando ruby 1.9.2 e rails 3 usando il tutorial di Michael Hartl. Sto facendo un'applicazione che volevo ospitare sul mio server preesistente. Tuttavia, ho scoperto che non supportano ancora i binari 3 in quanto rompono la compatibilità con mongrel.

La mia domanda è: quanto sarà difficile trasferire l'intera app Rails 3 su Rails 2, se necessario? Tieni presente che, benché ormai comprenda abbastanza bene i binari 3, non ho mai usato le rotaie 2 e non ho idea delle differenze tra loro.

    
posta Ankit 28.07.2011 - 10:52
fonte

3 risposte

1

Difficile da dire senza vedere il codice. Ma è probabile che sia necessario riscrivere e modificare ampie parti del codice. I ricercatori di ActiveRecord funzionano in modo diverso, molti helper hanno differenze almeno nei dettagli su come vengono utilizzati gli attributi. Le gemme sono gestite diversamente, il routing è diverso ...

Dai un'occhiata alle note sulla versione di Rails 3

Non vorrei fare questo lavoro.

    
risposta data 28.07.2011 - 11:16
fonte
1

A meno che non si tratti di una piccola app coperta da test, sarà dolorosa nella a **. Nota anche che quasi nessuno lo fa, quindi quando ti imbatti in qualche problema durante il porting, dovrai calcolare la soluzione da solo - Google non sarà di grande aiuto qui.

I principi di base sono simili in Rails 2 e 3, ma scommetto che ci saranno un sacco di piccole differenze (attributi di metodi diversi, parametri di configurazione ...). Anche se probabilmente potresti usare le esercitazioni per eseguire il porting di Rails 2 - > 3, l'altro modo in cui erano destinati:).

Per quanto riguarda l'hosting, Mongrel è stato ampiamente utilizzato per ospitare le app Rails anni fa, ma i tempi sono cambiati e ci sono molte migliori scelte disponibili al giorno d'oggi. Apache + Passenger è più o meno standard. Se fossi in te, proverei a passare da Mongrel ad un altro server web con supporti Rails 3 (jeez, è uscito da un anno!).

    
risposta data 28.07.2011 - 13:19
fonte
1

Forse dovresti prendere in considerazione un altro server o se lo controlli aggiornando il bastardo lì o passando a Passeggero o qualcosa del genere. Sarà più veloce e meno lavoro complessivo.

Un'altra alternativa è ospitarla su Heroku o su un altro servizio di hosting.

    
risposta data 28.07.2011 - 16:44
fonte

Leggi altre domande sui tag