Нужно ли мне знать Ruby, чтобы узнать Ruby on Rails?

Я прочитал еще несколько вопросов о материале, чтобы изучить RoR. Но мой вопрос: могу ли я начать изучение RoR без Ruby?

Ясно, что наоборот, лучше, но я бы предпочел попробовать этот путь, если это имеет смысл (каким-то образом). Или изучите оба параллельно...

Ответ 1

Ну, учитывая, что Ruby on Rails - это просто Ruby, написанный определенным образом (read: framework) да, вам нужно будет изучить Ruby.

Вам нужно будет изучить эти вещи о Ruby (среди прочего):

  • Все есть объект. Все. Да, даже 2 и "foo"
  • Наследование класса и что он делает (tm)
  • Как определить разницу между методами класса и экземпляра
  • Модули и способы их правильного использования (class_eval - ваш друг)
  • Люди пишут драгоценные камни. Используй их. Повторное изобретательство колеса прекрасное и денди для обучения, но повторное изобретение, потому что вы считаете, что ваш метод лучше не.

И все это о Rails:

  • Не бороться с условностями.
  • Удерживайте не.
  • Код модели входит в модель.
  • Код контроллера поступает в контроллер.
  • Просмотр кода идет в представлении.
  • Код помощника идет в помощнике.
  • Спросите себя: "У Rails есть помощник для этого?". Если ответ "Нет", спросите кого-нибудь другого. Ответ скорее всего будет "Да".

И эти вещи вообще об обучении:

  • Google.
  • Google снова.
  • Если ответ, который вы ищете, находится не в пределах расстояния в Google, сформулируйте его таким образом, чтобы он был добр к тем, кто может знать ответ (например, вы сделали с этим вопросом!)
  • Обращение к людям с большими мотивами. Как помочь вам, помочь им?
  • Постарайтесь не слишком много помочь вампиру.
  • Если вы запрашиваете в IRC-канале, используйте службу pastebin, например http://pastebin.com, http://pastie.org или http://gist.github.com
  • Второе правило о запросе в IRC: не спрашивайте "никаких идей"? после вашего вопроса. Ваш вопрос должен уже просить об этом сам.

И наконец: Люблю то, что вы делаете.

Ответ 2

Люди говорили, что вы могли бы изучить RoR, не зная Ruby (включая DHH, если я не ошибаюсь).

Но, на мой взгляд, если вы также знаете Ruby, вы можете сделать намного больше, чем не зная об этом. И знание будет очень полезно при отладке или устранении неполадок ваших программ.

Итак, мое предложение изучается параллельно.

Ответ 3

Очевидно, что...... если вы действительно хотите разработать хорошие веб-приложения...

Но также будет интересно сначала намочить руки некоторыми примерами образцов RoR, используя встроенные функции, которые RoR предоставляет... и затем изучать детали (которые потребуют знания Ruby)

Если вы избегаете изучения Ruby (что делают многие разработчики RoR)... тогда вы окажетесь на месте и пройдете чужой код. И в конце концов вы можете оставить RoR из разочарования. Я видел много таких случаев.

Ответ 4

Вы можете. RoR в некотором роде является языком, специфичным для домена, поскольку для вас определено много, а совместное простое приложение может быть похоже на простой рецепт. Разумеется, было бы лучше правильно изучить язык, но многие люди этого не делают.

Ruby For Rails book пытается научить вас обоих в одно и то же время, поэтому вы можете захотеть изучить его. Я его не читал, но я слышал, что это очень хорошо.

Ответ 5

Вопрос, который вы задаете, немного неоднозначен. В частности, вы можете спросить: "Могу ли я узнать Rails, не зная сначала Ruby?" Или "Могу ли я узнать Rails, не изучая Ruby?".

Ответ на более поздний вопрос, вероятно, нет, если вы хотите быть особенно функциональным с ним. Не зная Ruby, было бы трудно воспользоваться большей частью мощности Rails.

Ответ на первый вопрос, безусловно, да. Хотя зная, что Ruby сначала сделает обучающие Rails быстрее/проще, вы можете легко изучить оба одновременно. На самом деле, как я узнал Ruby/Rails, взяв сайт, который я должен был реализовать на Java, и повторное его использование с помощью Rails.

Ответ 6

Вам нужно знать, оба, структура RoR - это организационная и удобная система, если вы хотите, то, что она организует, - это ваш рубиновый код.

Если вы запрограммировали до этого, вот большинство ваших ответов:
http://www.ruby-doc.org/core/
http://railsapi.com