In primo luogo, un avvertimento: non esiste una risposta definitiva a questa domanda.
Rails è più di un semplice framework. È una lingua specifica per il dominio separata da Ruby, con le sue parole chiave, cultura e idiomi. Una funzione primaria di Rails DSL è quella di nascondere le cose da te. Rails gestisce l'astrazione tra un modello e il database, ad esempio, in modo da non dover scrivere un modello di accesso ai dati. In questo senso, Rails è più semplice di Ruby: se dovessi creare un'applicazione web senza Rails, avresti una enorme quantità di lavoro da fare.
D'altra parte, ogni affermazione Ruby sintatticamente corretta è un'istruzione Rails sintatticamente corretta. Quindi la logica applicativa che scrivi in Rails è Ruby, che è una delle ragioni per cui le persone potrebbero dire che rimpiangeresti di non conoscere Ruby. Rails implementa molte delle funzionalità di metaprogrammazione di Ruby, quindi sapere cosa sta succedendo nell'app Rails richiede una conoscenza di Ruby abbastanza avanzata.
Un altro punto è che il framework Rails implementa il modello di progettazione Model / View / Controller. I modelli sono oggetti. I controller sono anche oggetti. Non puoi semplicemente implementare Rails senza scrivere oggetti e chiamare metodi su quegli oggetti. La maggior parte di ciò che fai in un'app Rails è metodi di scrittura. Se non sai cosa sia un oggetto o quale sia un metodo, potresti avere difficoltà con questo. Potrebbe essere utile comprendere gli oggetti prima di provare a capire un particolare modello di oggetti. D'altra parte, potrebbe essere utile avere un'introduzione rigorosa su come utilizzare un modello di oggetti molto specifico prima di provare il caso generale.
In un'altra mano, nella mia esperienza di ragazzo che non conosce Rails, non conoscere Rails non è un ostacolo per scrivere applicazioni usando Rails. Probabilmente è una barriera per scrivere buone , ben progettate applicazioni in Rails, ma se conosci bene Ruby, puoi hackerare qualcosa insieme usando qualsiasi Quadro rubino.
Tutto ciò detto, il consiglio su cui mi fiderei di più è il consiglio di Rails Tutorial Book sito web. Il miglior consiglio è questo:
a surprising number of beginners have used this tutorial to learn web development, so I suggest giving it a try
Se ti perdi, torna indietro e impara un po 'di Ruby, o dell'HTML, o qualsiasi altra cosa ti perdi, e riprova! Learning Rails non ti impedirà di imparare Ruby più tardi, e se trovi che hai bisogno di più Ruby, puoi sempre mettere Rails in basso e riprenderlo. Non c'è un modo sbagliato per farlo - fai ciò che mantiene il tuo entusiasmo per l'apprendimento e qualsiasi cosa ti permetta di andare avanti. Aspettatevi che questo sia piuttosto difficile, comunque, qualunque sia la strada che prendete. Se fosse facile, non ci pagherebbero per farlo.