Такой вопрос -- а перед тем как браться за рельсы, язык то был изучен (Ruby), или пытаетесь осилить всё сразу и скопом?

Просто обычно проще всего изучать так:
1) языковое ядро (язык без той части стандартной библиотеки, которая может быть написана на самом языке).
2) стандартная библиотека + распространенные паттерны программирования/проектирования на данном языке.
3) интересующая прикладная библиотека. например те же рельсы.

Если начинать с третьего попутно бегая по 1 и 2, то в голове с гарантией получается каша. Вне зависимости от языка и технологии.