Лучший способ изучить Rails

    Доброго времени суток!

    Предисловие


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

    Введение


    У меня за спиной огромный опыт работы с PHP, но сейчас я работаю Rails разработчиком. Огромную сложность для большинства людей, которые пытаются освоить что-то новое — это сам процесс обучения. Когда вы владеете каким-либо языком или фреймворком и знаете его вдоль и поперёк, переход на что-то новое не представляется необходимым.

    Однако, изучение Ruby on Rails является достаточно простым занятием. Это невероятно мощный фреймворк, который имеет огромное сообщество, продвигающее его вперёд. Итак, у нас возникает вопрос: какой способ изучить Rails является лучшим? Вот он — план занятий.


    Данная статья представляет собой полный план необходимых занятий для того, чтобы ознакомиться с Rails и приступить к работе с ним в кротчайшие сроки. Всё, что вам нужно — следовать пунктам ниже, которые перечислены по порядку.

    Пункт 1: работа с упражнениями в «Try Ruby»


    Вы можете подумать, что изучение Ruby является здесь самым важным шагом, но это не так. Часть из тех, кто приступает к детальному изучению Ruby, прекращает изучение и просто остаётся работать с текущим языком и фреймворком. Не делайте этого!. Не бойтесь изучать этот язык (или любой другой). Ruby — весёлый, великолепный и простой для изучения язык. Плюс ко всему, не стоит забывать о том, что вам не обязательно изучать его на все 100%. Вам достаточно лишь знать основу.

    image

    Наиболее рекомендуемым инструментом для погружения в синтаксис Ruby является сайт TryRuby. Он представляет собой интерактивную среду, которая позволяет попробовать синтаксис в действии. Если вы наберёте help, то будете приглашены ознакомиться с пятнадцатиминутным руководством, который обучит вас базису. Не стоит забывать, что у руководства две главы, с которой вы можете ознакомиться набрав help 2.

    Если вы хорошо поработаете над этими заданиями на протяжении некоторого времени, то у вас появится хорошая база знаний. Всё, что сделал я сначала, это изучил эти два руководства. Остальное же я познавал в процессе разработки сайтов на Rails, а также путём гугления и упражнениями с IRB.

    Пункт 2: установка Ruby и Ruby on Rails


    Если вы хотите изучить Rails, то вам без сомнений придётся установить его на ваш компьютер. Здесь представлено несколько решений, исходя из того, какая у вас ОС. Если у вас Mac или Linux-based компьютер, то я рекомендую вам использовать RVM. Это великолепный инструмент, предназначенный для установки Ruby. Собственно, вот инструкция по самой установке. Если же у вас Windows, то вам придётся воспользоваться RubyInstaller.

    Следующим шагом является установка самого Rails. Для этого вам необходимо установить RubyGems. Если же вы используете RVM, то примите мои поздравления — у вас RubyGems уже установлен. Если же у вас Windows, то советую проследовать сюда. Чтобы установить Rails, вам необходимо воспользоваться командой gem install rails и, тада, всё сделано!

    Пункт 3: ознакомление с введением в Rails от Jeffrey Way


    image

    В этом 40-минутном скринкасте Jeffrie Way расскажет вам о том, что необходимо знать для того, чтобы использовать Rails. В нём вы найдёте много полезной информации, включая такие темы, как:
    • Models and generators
    • Test-driven development (TDD)
    • ActiveRecord
    • RSpec and Capybara
    • Partials

    а также многое другое…

    Пункт 4: изучите курс Rails For Zombies


    Я всегда думал, что изучение по примерам является самым лучшим способом изучить язык или фреймворк. Бесплатный и невероятно мощный курс, с которым вы должны обязательно ознакомиться — Rails For Zombies, созданный ребятами из EnvyLabs. Данный курс является интерактивным, что означает, что после просмотра каждого видео вы будете работать над полезными и интересными упражнениями.

    Пункт 5: почитайте книги по Rails


    image

    До этого времени я рассказывал вам об инструментах интерактивных и бесплатных. Время халявы прошло! Сейчас вам следует приобрести книгу под названием Agile Web Development with Rails. Она призвана научить вас использовать Rails путём строения веб сайта с нуля. Она проходит базовые основы, такие как контроллёры, модели, «scaffolding», функциональное тестирование, а также немного AJAX. Приобретите хотя бы последнее издание.

    Пункт 6: постройте простой блог


    Я знаю, что это звучит довольно скучно (покрайней мере для меня), но это великолепный пример, который используется везде по причине того, что он является довольно простым и быстрым для написания. Пойдя таким путём, вы будете способствовать закреплению ваших знаний и навыков. Но я предлагаю вам не заниматься копипастом (этим вы ничего не добъетесь, разве что 10 минут лишней траты электроэнергии), а попытаться написать его постепенно, по памяти, иногда лишь подглядывая в книгу затем, чтобы посмотреть как работает тот или иной метод.

    image

    Далее добавьте в свой блог возможность добавления комментариев.

    Пункт 7: добавьте новые возможности в ваш блог


    Великолепно! Вы всё-таки построили свой собственный блог. Но всё-таки в нём нет полновесного функционала, а лишь представлены базовые функции, присущие каждому блогу. Хорошо, давайте чуть-чуть поработаем и добавим систему аутентификации.

    image

    На самом деле я не хочу сейчас заставлять вас делать что-либо сложное, ведь вы уже порядочно потрудились. В качестве системы аутентификации вы можете использовать какой-нибудь готовый гем (Omniauth, например). Заодно и с имплементацией гемов в ваш проект разберётесь.

    Также советую посмотреть этот скринкаст от Ryan Bates, в котором описывается создание простой системы аутентификации с нуля. После имплементации системы, следует добавить возможность удаления/редактирования постов, если вы ещё не сделали этого. Если же задание уже выполнено, то пора переходить к следующему пункту.

    Пункт 8: создание чего-нибудь своего


    На данном этапе вам пора стать более креативным и подумать о создании какого-нибудь сервиса (например, фотохостинг). Не стоит останавливаться на дизайне вашего второго веб сайта. Возьмите что-нибудь готовое. Например, Twitter Bootstrap. Таким образом вы сможете сосредоточиться полностью на создании своего веб приложения.

    Пункт 9: что-то ещё?


    Да. На самом деле, изучения чего-либо это не заканчивающийся никогда процесс, который течёт со временем и позволяет нам совершенствоваться. Вот, например список твиттеров наиболее интересных и влиятельных людей в сфере Rails:
    • @dhh — создатель Ruby on Rails. Обычно можно наблюдать твиты о новых версиях Rails и некоторых советах.
    • @rbates — создатель Railscasts. Говорит само за себя.
    • @rails — официальный аккаунт фреймворка. Следуйте ему и получайте информацию о свежих печеньках релизах в режиме реального времени.
    • @rails_apps — они постят примеры различных примеров приложений на Rails, зачастую очень полезных.

    И, конечно же, несколько полезных ссылочек:
    • RaislcastsMUST HAVE!!!. Бесподобные скринкасты о Ruby in Rails, советы, новые гемы и многое другое.
    • Asciicasts — если вы не хотите или не можете смотреть видеоуроки по каким-либо причинам, то вы попали по адресу. Здесь вы можете ознакомиться с содержимым уроков в текстовом формате.
    • Nettuts+ — ресурс, на котором иногда публикуются советы и статьи по Ruby и Ruby on Rails.
    • The Rails Way — классный блог, содержащий достаточно интересные статьи и уроки.
    • Riding Rails — официальный блог Ruby on Rails. Они не постят достаточно много, но сообщаю о свежих релизах фреймворка.
    • Planet Ruby on Rails — достаточно хороший ресурс, где воедино собраны статьи с различных сайтов данной тематики.


    Заключение


    Вот и всё. План занятий закончился. Но, прежде чем попрощаться с вами хочу сказать, что оставил ссылки на англоязычные ресурсы, т.к. он являются тем, что и надо изучать. К сожалению, подобных русскоязычных ресурсов достаточно малое количество, так что приходится читать и смотреть, произведённое «за бугром».

    Успехов вам! До новых встреч!
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 118

      –7
      А что же такого «весёлого» в ruby?
        +3
        Говорящие лисы, например.
        Хотя это не сам руби, а лишь классная книжка о нём, но зато действительно весело…
      +3
      "то будете приглашены ознакомиться с пятнадцати руководством, который обучит вас базису"

      Гугл-транслейт что ли?
        +5
        Не дождетесь. Весь перевод был выполнен вручную. Но за качество извиняюсь. Писал в спешке. :)
          +2
          в следующий раз, когда будете переводить не-гугл-транслейтом, удостоверьтесь, что ваше «вручную» случайно не скушало половину ссылок в статье.
            +1
            Да, спасибо. Исправил.
        +3
        У меня за спиной огромный опыт работы с PHP, но сейчас я работаю Rails разработчиком.
        Поделитесь секретом, как нашли работу (джуниором?) без опыта с рельсами? Все вакансии, что вижу, требуют опыта, кучи различных технологий, аккаунта на гитхабе (на битбакете видимо не пойдёт) и т. п.
          +3
          Ну вообще это перевод по большей части. Но расскажу про свой опыт.
          Я относительно недавно в сфере веб программирования (занимаюсь бэк-эндом). Всё началось с предложения локальной компании администрировать их сайт. Дальше — больше. Попросили заняться бэкэндом. Недавно и вовсе в маленькая компания из подмосковья предложили работу, как «юному таланту». Работая, набираюсь опыта. Хотя я сам не особо верю в то, что происходит… Фортуна :)
            +1
            Лично мне подвернулась вакансия «можно junior», опубликованная хорошим знакомым. С задачкой справился опять же.
              0
              Ищите лучше. Я устроился без опыта программирования по найму вообще (не говоря уж о руби). Зарплата была неахти, но главное тут — это начать. Меньше чем через пол года уже начали поступать предложения с утроенной зарплатой (на испытательный срок) от совершенно посторонних людей.
              Это все без связей и от незнакомых мне людей.
                0
                Как вы заставили работодателя взять вас без опыта? :) У меня пока не получается, хотя опыт потихоньку нарабатываю. Но работу программистом не могу найти уже пол года.
                  0
                  без опыта программирования вообще? никак не заставишь. с опытом вообще, но без опыта с использованием рельс — существенно проще. ну подумаешь +1 фреймворк. ладно, +1 ЯП и +1 фреймворк.
                    0
                    у меня нет опыта программирования вообще. Я сразу начал с Руби:)
                      0
                      Сколько раз писал что-то вроде «20+ лет опыта эпизодического программирования вообще, из них 10+ лет на PHP, рельсы изучал, но практики нет, пришлите тестовое задание» — даже ответом не удостаивали.
                        0
                        А что мешает получить практику? Выберите один из популярных OpenSource-проектов на Rails и сделайте туда хотя бы десяток коммитов…
                        Это сразу увеличит Вашу привлекательность для работодателей в разы. При том что Вам это практически ничего не стоит, если квалификация позволяет включиться в разработку существующего проекта.
                          –1
                          Может в рельсах по другому, но все мои попытки отправить патчи, реализующие новую функциональность или даже покрытие тестами/рефакторинг, в пхп-проекты были отклонены. «Это никому не нужно или нужно незначительному меньшинству, а большинству будет мешать», «это противоречит концепции», «это не даст пользователям ничего нового, а время обработки увеличит», «никто не будет ставить приложение на СУБД отличную от MySQL, а потому pdo и dbal не нужны», «это нарушит BC, неймспейсы есть не на всех хостингах» и т. п.

                          В общем, теоретически звучит заманчиво, а на практике сизифов труд. А на вопросы вроде «Что можно сделать для проекта?» в личку/на мыло предлагают в лучшем случае исправить открытый в багтрекере баг в спагетти-коде и даже если его локализуешь путем покрытия тестами и рефакторинга (банальное выделение объектов и методов с передачей глобальных переменных в качестве параметров конструктора/методов) и исправляешь, то принимают не отрефакторенный код, покрытый тестами, а просто исправляют ошибку. Вроде сделал полезное дело, ошибка исправлена, но осадок какой-то остался. Особенно в ситуации когда очень много ошибок в проекте являются регрессионными, вводят новую функциональность, а старая ломается.
                            0
                            В Ruby-проектах отношение к контрибьютерам лучше.
                            Хотя действительно лучше начинать с небольших тикетов из issues на github-аккаунте проекта.
                            Ну а если вы хотите добавить новую фичу, то либо делайте её отключаемой, либо сначала обсудите это в тех же github issues или на lighthouse или на uservoice, в зависимости от проекта.
                            Когда Вы без спроса и согласования пытаетесь добавить новую функциональность в чужой проект, то это конечно странно само по себе, хотя иногда может прокатить, если функциональность действительно полезная.
                    +1
                    Аналогично. :)
                  0
                  Недавно начал изучать RoR, но как-то прошёл мимо railscasts. Теперь буду иметь ввиду, спасибо!
                    +1
                    Всегда пожалуйста. Рад, если в данной инструкции вы найдете еще что-либо полезное. :)
                    –2
                    Всегда было интересно что-то новое, о руби знал и слышал уже давно… и даже пытался как-то начинать изучение, но всегда не хватает времени на что-то отвлеченное, так и забросил… сам пишу на php — знаю его хорошо, последнее время использую yii. Объясните мне пожалуйста, чем ruby лучше php и rails лучше yii? Что такого я смогу сделать там, чего не смогу сделать здесь? спасибо за статью, интересно, ссылки полезны, но процесс изучения, как я считаю, что в php, что в ruby везде одинаков — hello world, examples, blog…
                      +6
                      Вы понимаете, что можете вызвать очередной холивар своим вопросом? Чтобы никого не задеть своими аргументами, предлагаю поступить таким образом:
                      1. Погуглите, об этом очень много написано.
                      2. Если чуда не случится и вы не найдете информации, то пишите в личку — отвечу с радостью.
                        –1
                        Почему все так боятся «холива варов»?
                        Это же интересно слушать мнения других и подчерпывать что-нибудь новое :)
                        Просто в таких ситуация не надо съезжать на интернет срач «у кого сильнее бьет» и «а мой дедушка», надо вести конструктивный разговор и по делу высказываться.
                          +1
                          От слов Holy и war же. :)
                            –2
                            в данном конкретном случае, Rails — это как Mac OS X от мира веб-фреймворков. вы пробовали когда-нибудь спросить у маковода, чем, по его мнению, мак лучше других операционных систем? по функциональности ничем. он лучше религией, отношением к пользователю и общим удовлетворением от пользования компьютером.
                              +3
                              Странно. Мне маководы обычно отвечают про плавный скролл в веб браузерах, командную строку *nix с тулзами и компилятором, полное шифрование диска без необходимости trusted platform module спецжелезки. Еще Airdrop показывают и встроенную систему контроля версий документов — но это из последнего.
                                –1
                                я, видимо, забыл упомянуть. не по сравнению с Default OS, а по сравнению с хотя бы Ubuntu.
                                  +1
                                  Наличие родных (не портированных) программ Adobe (Photoshop, Flash...), Cubase, Logic, не в последнюю очередь Steam и игр на движке Half-Life (ну и World of Warcraft, куда без него).

                                  Сразу оговорюсь, холивар на тему «Gimp против Adobe Photoshop» не имеет смысла — я не граф. дизайнер, просто привожу типовый валидный аргумент.

                                  У каждой ОС свои преимущества и недостатки. Про религию говорят люди, как правило, специально провоцирующие холивар.
                                    0
                                    я на рельсах специализируюсь уже четвёртый год. вы думаете, что я провоцирую холивор, говоря про религию?
                                      0
                                      Ну ветка-то про макось, не про рельсы.

                                      Отличия руби от php тоже вполне можно привести, они не ограничиваются религией.
                                        –1
                                        в каком месте это ветка про макось?
                                          +2
                                          >Rails — это как Mac OS X [...] вы пробовали когда-нибудь спросить у маковода
                                          >Странно. Мне маководы обычно отвечают про [...]

                                          Вот эта ветка. Неважно, проехали.
                                        +2
                                        В буквальном смысле этого слова :) Так он обычно замаскирован под якобы недостатками и достоинствами конкурентов, а вы сразу на религию ;)
                                      –2
                                      Еще про XCode забыл написать, этот аргумент оказался решающим лично для меня, поскольку нужно было писать софт для iPhone / iPad.
                                  +1
                                  Холивары сначала конструктивные начала имеете, а потом по традиции перерастает в срач. :)
                                +4
                                Миграции, прекрасный ORM, синтаксис, гемы — самое первое и очевидное что приходит на ум. Нужны тэги? Пожалуйста — есть несколько гемов на гитхабе. Сортируемый список? Пожалуйста — гем acts_as_list. Авторизация, регистрация, восстановление пароля и прочее? Пожалуйста — гем devise. И так для всего.
                                Куча замечательных хелперов, встроенных методов. Всегда тащусь, когда нахожу в руби что-нибудь подобное:
                                1.9.3p0 :001 > Date.today
                                => Mon, 13 Feb 2012
                                1.9.3p0 :002 > Date.today.end_of_month
                                => Wed, 29 Feb 2012
                                1.9.3p0 :003 > Time.now.end_of_month
                                => 2012-02-29 23:59:59 +0400
                                1.9.3p0 :004 > Date.today.friday?
                                => false
                                  +1
                                  это не ruby. это ActiveSupport.
                                    +2
                                    Да, конечно же, перепутал. Это не руби, но это идеология руби — он такой во всем. Откроешь любой гем — красота. Сам стараюсь писать подобные красивые вещи. Извиняюсь что пишу так непонятно и сумбурно, просто переполняют чувства :)
                                      0
                                      Откроешь любой гем — красота
                                      Ну нет, не совсем так.
                                    +2
                                    В современных PHP-фреймворках и базовой библиотеке всё (почти, наверное) это (миграции, прекрасный ORM) есть (ну кроме гемов, конечно, модули у них по другому называются и единого формата и менеджера пакетов нет), а кое-что даже получше (для ruby нет ORM реализующий DataMapper, и появится не раньше чем через полгода, причём будет являться «клоном» ORM на PHP, по крайней мере мне так ответили в ror2ru@googlegroups.com )

                                    Для меня главные преимущества ruby:
                                    — более лаконичный синтаксис (включая принцип «всё объекты»)
                                    — более продуманное именование стандартной библиотеки

                                    Главные недостатки (тут больше к рельсам, а не к руби):
                                    — отсутствие популярной, функциональной и удобной CMS по типу WP, Drupal, Joomla и т. п.
                                    — поддержка только немногочисленными хостерами
                                    — более сложное администрирование среды для выполнения (по сравнению с LnAMP)
                                    — малый спрос со стороны заказчиков

                                    Подозреваю, что последний пункт следствие первых трёх.
                                      +5
                                      В минусах еще:
                                      — малое количество разработчиков, как следствие:
                                      .слабое комьюнити
                                      .высокие зарплатные ожидания
                                      .отсутствие простых конечных продуктов(WP, Drupal, Joomla)

                                      Но главный плюс, который перекрывает PHP на 100 раз и еще остается:
                                      — крайне понятные конструкции и лаконичный синтаксис, который позволяет ротировать программистов и подключать новичков в любой момент разработки. Ну или расстрелять всю команду разработчиков и нанять новых ))

                                      В том же PHP каждая новая команад или новый ментейнер начинает знакомство со слов: «Нууу… Легче все переписать с нуля, чем пытаться его поддерживать»

                                        +1
                                        Как по мне, то малое количество компенсируется большей активностью. По крайней мере если сравнивать рельсам с отдельно взятым php-фреймворком (вот ещё недостаток PHP — множество очень сильно пересекающихся по функциональности и так же сильно различающихся по реализации интерфейсам библиотек/фреймворков/готовых продуктов, что и разбивает сообщество, и затрудняет миграцию с проекта на проект).

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

                                        В последнее время с этим стало получше, велосипедов меньше, использования фреймворков больше, как следствие постепенный рефакторинг реален. Хотя в небольших непубличных проектах покрытие тестами всё ещё большая редкость. Но уже не так сложно покрыть самому.
                                          +2
                                          секунду

                                          это вы сейчас «слабое коммьюнити» про рельсы сказали? это ЛОЛ
                                            +3
                                            чтобы не быть голословным: посмотрите здесь на наше слабое коммьюнити github.com/languages
                                              –1
                                                0
                                                А на bitbucket поиск по php выдаёт 1000+ репозиториев, а по ruby 500+, то есть с точностью до наоборот соотношение. Так что не показатель количество проектов (правда на битбакете статистики или поиска по языку не нашел, а искал просто по строке). Особенно учитывая, что далеко не все пехепешники пользуются преимуществами VCS, а среди рельсовиков это норма.
                                                  0
                                                  1000+? на апрель прошлого года на гитхабе было зарегано 225 000+ репов на Ruby
                                                    0
                                                    Так мы соотношение сравниваем :)
                                                      0
                                                      так вы сначала просуммируйте, а потом сравните.
                                              +1
                                              Давным давно уже есть datamapper.org/.
                                                +2
                                                От паттерна DataMapper там одно название вроде как, а так типичный ActiveRecord — оболочка для БД с возможностью добавления бизнес-логики. Сам объект должен знать как он соотносится с БД, как ему сохранится в частности. В DM же об этом знает мэппер (обычно с обвязкой типа репозиториев и единиц работы), а сам объект даже не подозревает в общем случае, что он где-то хранится, его хранением и восстановлением занимаются другие.
                                                0
                                                и единого формата и менеджера пакетов нет

                                                c 2013 года или когда не помню… есть composer
                                                getcomposer.org/
                                              +1
                                              Может быть тут вы найдете ответ.
                                                +3
                                                Я вам скажу чем. rubygems.org/
                                                  +1
                                                  Сделать можно примерно тоже самое, но делать это приятнее и многое более логично и стандартизованней (есть соглашения и почти все им следуют).

                                                    –1
                                                    чем ruby лучше php
                                                    рельсами
                                                    чем rails лучше yii
                                                    более гибким (почти совершенным) веб-стеком, как следствие — лучшей повторной используемостью кода, как следствие — меньшим кол-вом велосипедов, как следствие — тем, что если люди что-то делают руками, то почти всегда это нереализованные никем фичи.
                                                      –4
                                                      > > чем ruby лучше php
                                                      > чем лучше

                                                      чем php
                                                        0
                                                        нет. как ЯП руби — так себе. хоть местами и уделывает PHP. и рельсы — едва ли не единственная причина пользоваться ruby. вторая — огромное кол-во gemов и bundler.
                                                          +1
                                                          А мне нравится больше чем PHP и не местами, а в целом.
                                                            +1
                                                            на самом деле терпеть не могу подобные сравнения. библиотеки есть и там и там, как впрочем и сильное комьюнити. На php есть symfony и cakephp, но в количестве плагинов/бандлов они скорее проиграют rails.
                                                              –1
                                                              Тут ещё проблема в том, что общее количество библиотек в PHP может и больше, но среди них много с дублирующейся функциональностью, хотя бы за счёт того, что есть и symfony, и cakephp, и codeigniter, и kohana, и yii, и zend. А в ruby на слуху только rails да иногда sinatra всплывает.
                                                                –1
                                                                вы говорите так, будто pear уже научилось держать установленными несколько версий пакета одновременно (и подсовывать приложению ту, которую оно попросит). и как будто в PHP есть аналог Rack.
                                                                  –1
                                                                  На pear свет ведь клином не сошелся. Как я уже сказал комьюнити образуются вокруг фреймворков. Со своими plugin-менеджерами.
                                                        –3
                                                        Добавил в закладки.
                                                          +1
                                                          Интересно, почему статья читается так, как будто это перевод?
                                                            +1
                                                            Упс, извините, был неправ, пропустил: «Далее вы увидите перевод»
                                                            +3
                                                            www.therailsway.com/ — последнее обновление за август 2009.
                                                              +4
                                                              В обучении есть два подхода — от общего к частному и от частного к общему. Они рассчитаны на два типа людей — одним проще понять, когда им показывают как с помощью «магии» сделать блог в несколько команд, и после этого объясняют что это была за магия, от сложного к простому. Вторым понятнее, когда сначала описывают все заклинания, от простого к сложному, а затем показывают как с их помощью сделать блог.

                                                              Все уроки и книги по rails которые я видел — это половина первого подхода. Книга Agile Web Development With Rails, кторую я с трудом заставил себя прочесть (а я занимаюсь разработкой уже более пятнадцати лет — не web, но все равно) — это сборник кулинарных рецептов в первой части книги (вида — чтобы сделать блог введите эту команду, затем эту а затем эту. Что данные команды делают и как работают не разъясняется — либо это что-то само-собой разумеющееся, что сомнительно, либо авторы сами не до конца понимают как это все работает) и справочник доступных ингредиентов для готовки во второй ее части (если вы хотите авторизацию — используйте вот такой комплект заклинаний. Если хотите экспорт в XML — то вот такой).

                                                              Не то чтобы это был плохой подход — он позволяет достаточно быстро натаскать человека без опыта на выполнение тривиальных действий. Но, с другой стороны, у обученного на кулинарных рецептах специалиста в общем случае будут некоторые проблемы с изготовлением чего-либо, за рамки этих кулинарных рецептов выходящего.

                                                              Может кто знает хорошую книгу или набор статей по рельсам от простого к сложному, без кулинарных рецептов, с объяснением какая там архитектура и как все работает? А то стыдно в мои годы рельсы не знать, а с теми «знаниями» что дают описаные выше статьи я не могу сказать что знаю рельсы :(.
                                                                +3
                                                                * Design Patterns in Ruby (описываются ключевые паттерны и их реализация на Руби)
                                                                * The Book of Ruby (грамотно о самом языке)
                                                                * Eloquent Ruby (как писать код именно на Руби используя все возможности и правильную семантику)

                                                                Потом уж к Рельсам переходите, а то без знания материала вышеописанных книг рискуете дальше скринкастов не продвинутся.
                                                                  +1
                                                                  Руби я неплохо знаю. Мне бы про рельсы :)
                                                                    +1
                                                                    Ну, как бы есть книги, если вам нужно больше, то в мире руби принято исследовать исходный код. С Рельсами я такого не делал, а вот с Синатрой очень даже.
                                                                      +1
                                                                      в мире руби принято исследовать исходный код
                                                                      А в каком мире не принято? :)
                                                                        +1
                                                                        Имелось ввиду, что исходник вполне может заменить документацию)
                                                                  +1
                                                                  Присоединяюсь к просьбе посоветовать материалы. Мне тоже больше нравится подход снизу-вверх. Так можно сразу более детально понять как всё устроено внутри
                                                                    +1
                                                                    И да, именно про рельсы
                                                                      +2
                                                                      Я там ниже оставил ссылку, возможно будет полезно
                                                                        +2
                                                                        Спасибо большое, очень интересно и доступно
                                                                    +1
                                                                    Я бы добавил прекрасный ресурс railsforzombies.org.
                                                                      +4
                                                                      А перед этим дочитал бы статью и понял что все уже там написано.
                                                                      +2
                                                                      Советую добавить это: russian.railstutorial.org
                                                                      На английском уже сделана версия для 3.2
                                                                        0
                                                                        очень полезен также для тех, кто новичок не только в rails, но и в целом в Веб
                                                                          0
                                                                          А не приведёте ли ссылку, где там про 3.2?
                                                                          А то я только 3.1 вижу, да и то — только в 13-й главе.
                                                                        +1
                                                                        … рекомендую вам использовать RVM. Это великолепный инструмент, предназначенный для установки Ruby. Собственно, вот инструкция по самой установке… — а где инструкция?)
                                                                        +3
                                                                        Если же у вас Windows, то советую проследовать сюда.


                                                                        Я могу ошибаться, но под слово «сюда» должно было быть ссылкой?
                                                                          +1
                                                                          И ведь действительно ошибся, но в предложении. Кстати, хотел еще добавить, что для новичков может быть полезен и вот этот сайт rusrails.ru/
                                                                          +1
                                                                            +1
                                                                            По Ruby
                                                                            Как по мне лучший способ изучить/подтянуть Ruby это http://rubykoans.com/ — изучение Ruby путем заполнения пробелов и прогонки тестов. Разумеется если ты уже понимаешь основы программирования и просто решил изучить Ruby.

                                                                            По Rails
                                                                            http://RailsCasts.com — Наше ВСЕ.
                                                                            Когда начинал изучать Rails пересмотрел 200 серий за месяц, у меня был буст понимания Rails концепций колоссальный.

                                                                            На RailsCasts.com последнее ~4-5 месяца есть Pro подписка стоит 9$ в месяц — это копейки (за дополнительные 2 каста в неделю к одному бесплатному), подписка на эти касты стоит своих денег.

                                                                            Ну и разумеется книга Rails Way.

                                                                            Это из личного опыта.
                                                                              +2
                                                                              В статье сильно не хватает:
                                                                              1. rubymonk.com/
                                                                              2. rubykoans.com/

                                                                              И, да, есть мнение, что изучать рельсы не покурив предварительно метапрограммирование — путь не к просветлению, а к быдлокодерству.
                                                                                +2
                                                                                Скоро ещё стартует saas class
                                                                                >This course teaches the engineering fundamentals for long-lived software using the highly-productive Agile development method for Software as a Service (SaaS) using Ruby on Rails.
                                                                                  –1
                                                                                  > for free
                                                                                  Круто!
                                                                                  +1
                                                                                  Как сказал retran чуть выше, в руби без метапрограммирования никак. Metaprogramming Ruby (http://pragprog.com/book/ppmetr/metaprogramming-ruby) — отличная книга.
                                                                                    +1
                                                                                    «Никак» значит, что без него не реализовать то, что у «конкурентов» реализуется или что без него придётся реализовывать так же как у конкурентов, а не более лаконичным и читаемым способом?
                                                                                    +1
                                                                                    Ееее, как раз изучаю и дошел до середины 5-го пункта :)
                                                                                      +3
                                                                                      Когда изучал, нашел сайт — www.opensourcerails.com/
                                                                                      Исходники проектов, написанных на Rails.
                                                                                        +1
                                                                                        К слову — asciicasts прекратили размещение материалов с railscasts, т.к. эту функциональность Бейтс встроил в railscasts. Поэтому теперь читать, в том числе немногочисленные переводы на русский язык можно на railscasts.com
                                                                                          +1
                                                                                          «Собственно, вот инструкция по самой установке.»

                                                                                          Ссылку съело? :)
                                                                                            +1
                                                                                            Да хрен с ним, что поставили минус по комментарию, вопрос остается в силе. Так как действительно имею проблему с установкой RVM на маке. Думал, авось есть какая-то ссылка по инсталлу на которую еще не натыкался.
                                                                                              +1
                                                                                              во-первых, стоит начать с использования стабильной ветки. с недавнего времени рекомендуют ставить именно её.
                                                                                              2 — сходите с проблемой в irc://irc.freenode.net/#rvm. ну и ещё есть багтрекер на github.
                                                                                              Предполагается, что вы внимательно читали, что пишет RVM и делали, что просят.
                                                                                                +1
                                                                                                В том то и дело что читаю вроде все, но скорее всего это из-за того что я пытался поставить 1.9.3 версию, буду сегодня пробовать другую. Объясните пожалуйста что такое: ruby-1.9.2-head и ruby-1.9.2-p180? И что из них стабильное? :)
                                                                                                  +1
                                                                                                  p180 же
                                                                                                  -head — свежак из subversion, не обязательно стабильный.
                                                                                                    +1
                                                                                                    Понято! Спасибо. :)
                                                                                            +1
                                                                                            Изучение Ruby/RoR стоит начинать с перехода на никсы.
                                                                                              +1
                                                                                              на первое время хватит и виртуалки с линуксом
                                                                                                +1
                                                                                                +1, вообще на винде рекомендую использовать Vagrant, позволяет легко и быстро поднять юникс в виртуалке, заточенный специально для разработки на RoR. У меня рельсы намного быстрее там работают, чем под win7 или cygwin.
                                                                                                Про него есть рейлскаст: railscasts.com/episodes/292-virtual-machines-with-vagrant
                                                                                              +1
                                                                                              Про рельсы добавил бы книжку Rails Way Оби Фернандеса. Есть ещё Rails 3 Way, её вроде пока на русский не перевели.
                                                                                                +2
                                                                                                >Если же вы используете RVM, то примите мои поздравления — у вас Rails уже установлен.

                                                                                                Это как?
                                                                                                  +1
                                                                                                  Трудности перевода. В оригинале было написано: «To do so you should have RubyGems installed on your computer. If you used RVM to install Ruby, congratulations, you already have it!».
                                                                                                  То есть если у вас установлен RVM, то у вас уже есть RubyGems. Rails тут не при чем.
                                                                                                    +1
                                                                                                    Нет, не трудности. Просто писал в спешке. Исправил.
                                                                                                  0
                                                                                                  Рекомендую чень хороший пошаговый учебник — ruby.railstutorial.org/
                                                                                                    +2
                                                                                                    И ещё вот это — www.ruby-toolbox.com/
                                                                                                      +2
                                                                                                      Пользуясь случаем, прорекламирую свой кодкаст github.com/Ptico/from-rack-to-rails призванный разобраться в том, на каких принципах и как работает Rails и другие Rack-совместимые веб-фреймворки. На данный момент доступно 6 шагов, планирую в ближайшее время выложить еще 4.

                                                                                                      Заодно буду очень благодарен за помощь с переводом на английский.
                                                                                                        0
                                                                                                        Где-то пол года назад начал читать перевод railstutorial.org. Т.к. это было летом, отдыхал, то под рукой не было компа — читал с ридера. Вообщем, когда домой вернулся — вышла новая версия и забросил дело.

                                                                                                        Недавно узнал, что вышла вторая часть этого замечательного учебника. Правда он на английском — но свежую документацию по rails вы мало где можете найти, разве что скринкасты. Начал с удовольствием читать. В этот раз начал сразу же повторять те действия, которые описываются в учебнике. Не дочитав первую главу нашел ссылку на tryruby.org. Увлекся этим курсом и дальше-больше — нашел RailsForZombies. Его тоже окончил. Но в CodeSchool остальные 2 курса по руби оказались платными — $20. Может у кого-нибудь появится желание купить подписку на месяц? Можно собраться несколько человек и купить подписку. Скажем, впятером. По 4-5$ не жалко и разрабов не обидим.
                                                                                                        Кто заинтересован, то обращайтесь в ЛС/ПМ.
                                                                                                          0
                                                                                                          Хорошая статья. Когда несколько лет назад начинал изучать Rails прошел, вобщем-то, через все эти шаги.

                                                                                                          По поводу дискуссии чем Ruby/Rails лучше или хуже чем Н, я заметил что на и для ruby очень много высококачественного софта, который шагнул далше чем то, что было до него и потянул за собой массу «подражателей» на Python, PHP и т.д. Я имею ввиду:
                                                                                                          — RubyOnRails;
                                                                                                          — RSpec и Cucumber;
                                                                                                          — Capistrano; и
                                                                                                          — Sinatra.
                                                                                                            0
                                                                                                            Имхо, это связано с тем, что на нём приятно писать и, прежде всего, писать DSL и на них (меньше синтаксического мусора). А потом уже понравившиеся идеи перетаскивают на другие языки, если по каким-то причинам использование ruby неприемлемо.

                                                                                                            Хотя я использую capistrano и не вижу необходимости переписывать его на PHP (тем более что получится хуже из-за синтаксиса). Но тут ещё дело в том, что cap инструмент, который исполняется локально у разработчика/администратора/деплой-сервера, а не на продакшене (хотя я и на продакшен поставил для одного пользователя, но это вынужденная мера).

                                                                                                          Only users with full accounts can post comments. Log in, please.