First slice of rails

    -О чём вы, Морфеус?

    Количество фреймворков в мире растёт с пугающей скоростью. Тысячи их уже на данный момент. Благо, лучших из низ — не так много. Весь мир Web разработчиков просто подразделился на несколько групп, которые отадют предпочтение тому или иному фреймворку. Я не люблю тёрок и холиваров, так что бог с ним с тем, что лучше. Я лишь хочу поговорить с разработчиками ASP.NET о Ruby on Rails.

    Зачем?

    Расскажу свою историю. На ASP.NET я пишу с 2004 года. Знаю множество закоулков данной системы и знаю, что она сама по себе восхитительна. Я пережил 3 больших проекта на .NET и написал с 10 сайтов, которые сейчас продолжают стабильно работать. Если говорить о фрейворкнутости, то .NET меня удовлетворял всем. В самых больших проектах я находил решения самых сложных задач. И вот, через 6 лет мне просто захотелось посмотреть, а что же есть другого на рынке? Естественно, первым делом я наткнулся на RoR.


    Статья рассчитана на опытных программистов. Если вы не можете отличить компилятор от интерпретатора, то вам лучше в гугл.


    Что же меня заинтересовало? Я посмотрел вот этот скринкаст. В нём бойко рассказывается о том, как за 15 минут можно создать блог, используя RoR. Ладно, решил я, коли говорите, что всё так радостно, то стоит попробовать.
    Лирическое отступление. Для того, чтобы хозяева Windows могли посмотреть mov файл без установки QuickTime им придётся обзавестись альтернативной версией Quick Time и поставить себе Media Player Classic. Большинство скринкастов по руби сделаны на Мак ОС. Я сам — прожжёный виндузятник, и мне пришлось немного повозиться. Опять же, это не статья о холиварах.

    Вернёмся к теме.

    Поговорим о терминологии и о том, что нам понадобится

    Ruby — интерпретируемый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно-ориентированному подходу — к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan.

    Любой програмист, который занимался разработкой на .NET в течении года, в состоянии понять и быстро изучить Ruby. Да и статей на эту тему написано не мало. Останавливаться не будем.

    Поставить Руби на Windows можно использовав One-Click Install

    Замечу, что в отличии от привычной директории %APPDATA% всё что касается Руби лучше ставить на диск C: или что-то типа того. Просто это облегчит в дальнейшем работу с системой.

    Сразу скажу, что Ruby без плагинов — он как рубин неогранённый. Поэтому, был разработан Gems.
    RubyGems — менеджер пакетов для языка программирования Руби который предоставляет стандартный формат для программ и библиотек Руби (в самодостаточном формате «gems»), инструменты предназначеные для простого управления установкой «gems», и сервер для их распространения.

    На самом деле, я не могу найти в .NET хоть сколько-нибудь подобной замены нормальному менеджеру пакетов. Концепция .NET такова, что каждый делает инсталлятор и распространяет пакеты для .NET в угодной ему форме. В Ruby всё намного проще и лучше. Например, существует сайт facebook.com, который набирает популярность в России. Для facebook.com написан API, который можно использовать в своих программах. Кто-то уже написал оболочку для этого API. Отлично! Вот ею мы и можем воспользоваться, набрав в PowerShell седующую команду:
    gem install facebooker

    По поводу того, что значит набрать команду gem install facebooker. Просто меня, как для заядлого виндузятника, это всегда приводило в ступор. Ибо надо было искать исполняемый файл gems. Всё что Вам надо находится в папке C:\Ruby\bin

    Сразу же порекомендую обновить этот Gems до самой свежей версии, ибо в дальнейшем это очень пригодится.
        PS C:\Ruby\bin> gem update --system
    


    Ещё чуть чуть терминов, и можно начинать программировать.

    Ruby on Rails — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
    Предоставляет однородную среду для разработки динамических AJAX-интерфейсов, с обработкой запросов и выдачи данных в контроллерах, отражения предметной области в базе данных.
    Ruby on Rails является открытым программным обеспечением и распространяется под лицензией MIT.

    А вот и наш герой! Собственно говоря, если вы всё ещё не поняли, чем Ruby on Rails отличается от Ruby — позвольте предложить Вам следующее уравнение, которое поможет во всём разобраться.
    dotNET => 'ASP.NET Framework'
    Ruby => 'Ruby on Rails'

    Думаю, так будет попонятнее. И так, у нас есть язык, у нас есть фреймворк, который позволяет работать на этом языке, создавая WEB приложения. Ещё чуть чуть и можно начинать.
    Ибо, после того, как мы поставили и настроили фреймворк, нам надо только запустить сервер, и проверить то, как он работает. Тут я могу начать рассказывать о том, как надо ставить на систему Apache, sqlLite или MySQL… Но это слишком долго и муторно. Тут есть два варианта облегчения жизни:
    1) Instant Rails — это уже настроенный для работы сервер, который включает в себя Апач, Сиквел и Руби с Рельсами. Распаковываете архив на диск, запускаете батник, он пару раз материться и конфигурирует апач и всё, что душе угодно. Плюс в том, что установка всего этого счастья предельно проста. Даже ДенWER по сравнению с этой радостью покажется жутко замороченным. Замечу, что этот вариант идеально подходит для тех разработчиков, которые лучшей средой разработки считают Notepad++.

    2) Aptana — вот это понадобится тем, кто не может жить без Visual Studio или Sharp Develop. Это — уже полноценная студия, которая позволяет писать на RoR и существенно облегчает жизнь программиста.

    Предупреждаю: студию надо будет ставить в папку, которая не содержит русских символов в именах директорий. Ибо некоторые части фреймворка не понимают, что значит русский. Рекомендую ставить как можно ближе к диску.

    Студия сама предложит поставить Руби, если раньше вы этого не сделали. Так же, Аптана заметит, что для деббага яваскрипта вам потребуется Firefox 1.5 и выше.

    Всё на Ваш выбор. Я буду работать с Аптаной, так как она сделала жизнь проще. Сразу говорю, что перед началом работы Вам надо будет обновить Gems, как написано выше.

    Для счастливых обладателей Windows 7 — Aptana работает стабильно только под Админскими правами. Чего и Вам рекомендую.

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



    В Аптане это всё делается правым кликом мышки в окне Rails Explorer. Ещё раз замечу, что весь проект лучше размещать как можно ближе к корню диска и в папках без русских символов.

    Если вы матёрый программер, то вы можете повозиться с рельсами и проложить их себе через консоль, а не через правую кнопку мыши.
    PS C:\Ruby\bin> rails testblog

    Собственно говоря, по сути своей команды абсолютно одинаковы. Обе они создадут каркас сайта, который Вы будете писать. Разница в том, что Аптана ещё и запустит сервер под это дело. Кстати, если она этого не сделает, то вы можете ещё поправить, нажав Window>Show view>Servers

    Ну вот, теперь по адресу http://localhost:3000/ у нас располагается абсолютно ненужная страница, которая с радостью говорит о том, что у нас всё неплохо работает. Хотя, на самом деле, на этой странице висит туториал о том, как правильно сделать свою первую БД и доступ к ней. Давайте последуем ему, я просто добавлю кое-какие данные, чтобы Вы вообще не запутались.

    И так, вот мы создаём новый проект:


    И вот, мы его создали:


    Сразу хочу обратить Ваше внимание на пару фактов. Во первых, если вы действительно всегда писали только под .NET и никогда не видели Апач, то знайте, что корень любого сайта — это папка public. Отмечена синим цветом. Рейлз щедро одарил эту папку различными заглушками страниц ошибок, индексными страницами и так далее. Что же, это очень даже удобно.

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

    Красным цветом отмечена основная радость Рельс. Это папка Арр, которая содержит в себе 3 наиважнейших папки — controllers, models и views.
    Собственно говоря, MVC — суть всех Рельс. Ведь приложение строится именно на них. Давайте построим небольшой кусочек этого приложения.

    Если вы не найдёте у себя такой вкладки — нажимайте Window > Show View > Genarators


    Теперь мы последуем примеру со страницы http://localhost:3000/ и сгенерируем скаффолд recipe title:string author:string description:text

    Тааак. Мне кажется вот тут вот смысл начинает теряться. Что такое скаффолд? Вот, как раз с этим и надо разобраться! На мой взгляд скаффолд — это одна из самых больших вкусностей Rails. За свою жизнь я повидал много средств для доступа к данным. Я написал два самопальных фреймворка, которые позволяли управлять данными. Я использовал ASP.NET Entity Framework, но… Скаффолд поразил меня своей простотой и мощностью. Давайте по порядку.

    scaffold — эшафот; плаха; виселица; казнь
    to go to / mount the scaffold — сложить голову на плахе; окончить жизнь на виселице
    to bring to the scaffold — довести до виселицы
    to send to the scaffold — приговорить к смерти


    И тут не без приколов. Не знаю, о чём думали разработчики, но перевод этого слова меня настораживает.

    scaffold — обстраивать лесами
    The house was scaffolded to the very attics. — Леса были выстроены до самого чердака дома.
    2) поддерживать, подпирать, нести (на себе) нагрузку
    3) помещать (продукты) на высокие подмостки (для сушки, защиты от животных)

    Вот так то лучше. Скаффолд — это нечто, что несёт на себе нагрузку. В данном случае скаффолд — это то, что берёт на себя функции доступа к БД и полностью лишает программиста всего мозгоё мучения.

    Что же за команду мы набрали?
    Сущность: recipe
    Поле: тип
    title:string
    author:string
    description:text

    И так, мы создали новую сущность в слое доступа к данным.
    В папке db была создана папка migrate, в которой появился скрипт, позволяющий мигрировать нашу сущность на конечную БД.

    class CreateRecipes < ActiveRecord::Migration
      def self.up
        create_table :recipes do |t|
          t.string :title
          t.string :author
          t.text :description
    
          t.timestamps
        end
      end
    
      def self.down
        drop_table :recipes
      end
    end
    


    Этот класс был автоматически создан фреймворком, и имеет два метода. Up и Down. Эти методы будут использоваться для наката на базу, и отката с базы. То есть, если вы несколько раз вносите правки в ваш скаффолд, то создастся несколько версий скрипта миграций, которые последовательно будут вызывать метод Up. Это позволяет Вам держать вашу БД под контролем и нормально накатывать её на продакшин сервера.

    Более того, прошу заметить, что это нифига не SQL. Это значит, что на данный момент мы абсолютно БД-независимы.
    Прошу, открывайте config/database.yaml и смотрите в его содержимое.
    # SQLite version 3.x
    #   gem install sqlite3-ruby (not necessary on OS X Leopard)
    development:
      adapter: sqlite3
      database: db/development.sqlite3
      pool: 5
      timeout: 5000
    
    # Warning: The database defined as "test" will be erased and
    # re-generated from your development database when you run "rake".
    # Do not set this db to the same as development or production.
    test:
      adapter: sqlite3
      database: db/test.sqlite3
      pool: 5
      timeout: 5000
    
    production:
      adapter: sqlite3
      database: db/production.sqlite3
      pool: 5
      timeout: 5000
    


    Правда приятно? Можно даже делать разные типы баз данных на разных серверах.

    Ладно. У нас есть сущность, у нас есть описание БД, но пока у нас нету самой структуры БД для этой сущности. Поэтому мы жмём правой кнопкой по проекту, выбираем Rake > db > migrate

    Ещё немного теории. Что такое Rake?
    Rake — инструмент для автоматизации сборки программного кода. Он подобен SCons, Make и Apache Ant, но имеет несколько отличий. Этот инструмент написан на языке программирования Ruby и т. н. Rakefiles (аналоги Makefiles в утилите make) используют синтакс Ruby. Автором Rake является Jim Weirich.
    Rake использует блоки анонимных функций Ruby для определения различных задач, используя синтакс Ruby. В нем есть библиотека основных заданий, таких как, функции для задач манипулирования файлами и библиотека для удаления скомпилированных файлов (задача «очистки»). Как и Make, Rake может также синтезировать задачи, основываясь на шаблонах (например, автоматическая сборка задачи компилирования файла на основе шаблонов имен файлов).


    И так, то, что мы сделали — мы заставили rake мигрировать наши сферические сущности в вакууме на базу данных. Это очень приятно с его стороны. Осталось только написать код доступа к этой сущности и всё, можно радоваться жизни.

    Но вот тут вот и лежит основной прикол Rails. Scaffold — не дурак. И не только предоставил нам код доступа к сущности, но и уже написал MVC для него. Мы можем смело заходить на localhost:3001/recipes и смотреть, что там у нас есть. А есть у нас стандартный вид доступа к БД, который позволяет вносить основные изменения и работать с БД. Можете поиграться.

    Что же произошло? Где код и как это работает? Всё на месте!
    Заходите в папку App и смотрите, что лежит в models, controllers и views вашего проекта. У вас уже появилось все необходимое для работы с сущностью. Хочу заметить, что в Рельсах очень многое завязано на имена переменных и файлов. Так что, изучая recipes_controller.rb вы найдёте очень много простого кода, который изначально не связан с views, но в комментариях указано, к каким именно файлам будет обращаться фреймворк.

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

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

    Для дальнейшего изучения я рекомендую:
    Восхитительная шестичасовая лекция в Беркли. (Часть первая)

    Сборник более двух сотен скринкастов по Руби: http://railscasts.com/

    Для намного более глубокого понимания того, что я изложил выше, рекомендую эту статью guides.rails.info

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

    Эта статья сделана специально для Хабра и только для Хабра.

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 64

      +10
      вы охренительный :)

      просто, понятно и очень полезно.
      благодарю.
        +4
        Признаться, лаконичнее комента про себя никогда не читал 8-)
      • UFO just landed and posted this here
          +2
          Он самый. Отточенный, вылизанный, с рассказом об основных ошибках и том, как потратить 30 минут вместо двух дней. Даже называется почти как Hello world
        • UFO just landed and posted this here
            +3
            А что плохого в обучающих статьях?
            • UFO just landed and posted this here
                +3
                Молодой человек! Хабр создан, чтобы делиться опытом!!!
                • UFO just landed and posted this here
                    +1
                    Что на ASP.NET мир клином не сошёлся.
                      +7
                      Вы еще не убежали писать компилятор?
                    +1
                    Гугл очень часто приводит на Хабр. Рекурсия.
                  +4
                  как же вы надоели, толстые, зеленые и глупые до безобразия.
                  • UFO just landed and posted this here
                      0
                      нет ты.
                    –1
                    У людей, с такими показателями кармы как у вас, должны бейджи стоять напротив ника.
                    • UFO just landed and posted this here
                        –2
                        Что значит рад наброситься, просто вы выражается грубо, даже сейчас. Если вам не понравилась статья, да пройдите вы мимо. Вы же на улице когда идете и видете, что человеку не идет его пальто, и что он вообще лишний на этой улице, не лезете к нему и не пытаетесь объяснить ему что «это уже было». Человек поделися своими мыслями с сообществом, а вы вот так язвить.

                        А про карму… Ну она у вас, наверное, не просто так в таком виде?
                        • UFO just landed and posted this here
                            0
                            Я уже понял, что вы тут не из-за кармы, но все равно поадэкватней можно? Вам уже не первый человек это говорит и комментирует также.
                            • UFO just landed and posted this here
                      0
                      по-моему вы ошиблись местом комментария!
                      +5
                      >Я не люблю тёрок и холиваров…
                      Господи, прочитал как «тёлок».
                      /me перекрестился. :)
                        +1
                        +1 :) чуть со стула не упал. Мысль закралась в подсознание и весь пост читал с необоснованной настороженностью )
                        +12
                        Все таки если вы решили в серьез озадачиться Руби и Рельсами, от windows лучше отказаться. Не все у нее с ними хорошо.
                          +3
                          именно так я и сделал, когда обнаружил что на виндах rake:test выполняется по 2-3 минуты, когда на Маке все происходит буквально за 30 секунд.

                          Под виндой кстати пользовался аптаной довольно долго. Но потом все равно отказался в пользу связки Mac OS + Textmate, которую так часто можно увидеть в различных мувиках по рельсам)

                          Автору кстати, рекомендую выделить весь ruby-код в статье с помощью вот этого редактора, там очень приятная подсветка синтаксиса.
                            0
                            Знаешь, хочу заметить, что «вот этот» редактор использовался для написания кода, но в какой-то момент начал лагать, и перестал подсвечивать рубёвый код, выводя ошибки на весь экран.

                            Насчёт мака — это другая история. Я до некоторых пор, как я заявлял в статье, был прожжёным виндузятником. Но, сам не знаю почему, после рубей, мне захотелось на мак 8-)
                          +6
                          Перемудрили вы, молодой человек, со скаффолдом — скаффолд это не что иное как просто генератор кода который сунет в нужные папочки нужные файлики. Для работы с БД используется ActiveRecord…
                          Если хотите работать с рельсами и рубинам, как было уже написано выше, прийдется отказаться от виндоус ,) и, желательно, освоить такие инструменты как vim/emacs/textmate… программирование мышкой это тупиковая ветвь ©
                            –3
                            Справедливости ради замечу, что на Delphi и прочих Visual Basic'ах написано немало достойных программ! ;)
                            Я с Ruby [пока] незнаком, но пока что похоже, что разработка под него не сильно платформеннозависима?
                              +1
                              ruby ставится на все платформы, в виндоус проблемы возникают именно изза её прекрасной архитектуры ,) к тому же, сам Матз писал рубин под линухом ,) а сейчас и на маке вовсе посиживает…
                              +2
                              ну почему сразу «придется». Как будто, перейдя на суровый linux+emacs, сразу повысится качество и скорость написания кода.

                              Я заметил только один недостаток, который написал выше — тесты под виндой выполняются намного медленнее, чем под маком
                                0
                                не думаю что скорость написания кода это важный параметр (хотя как у вас на виндоус я не знаю), а вот качетство увеличиться, да :)
                                +1
                                NetBeans рулит! Самый удобный редактор под рельсы, если конечно вы не гуру в vim/emacs/textmate ))
                                  +4
                                  у меня он стоит на полке «фуфло» рядом с эклипсами и другими иде :)(30-40% экрана занято только под служебные палочки прокрутки и прочую чушь) для рельс иде нафиг не надо, а ресурсы жрут как не в себя… имакс + 3-4 плагина дадут больше профита чем все эти хваленые иде :)
                                    +1
                                    На вкус и цвет фломастеры разные :) Я привык работать в ИДЕ, и посмотрев Еклипсы и прочие Аптаны сделал выбор в пользу Нетбинса, за его безглючность и множество удобных фитч.
                                      +1
                                      Shift-Esc, для начала. Вообще предубеждение — страшная сила.
                                      Кстати, о каких конкретно плагинах идёт речь?
                                        0
                                        На самом деле, по поводу среды программирования — всё зависит. В худшем случае моя MS VS 2010 выглядит так на широкоформатном мониторе.

                                        Так что я уже подумываю над тем, что если перейти не на Вим, то минимум на NP++

                                          +1
                                          советую также подумать над установкой Мака под виртуальной машиной, и пользоваться Текстмейтом там, будет намного лучше чем тот же NP++ =)
                                            0
                                            Чем только чёрт не шутит. Можно попробовать! А как нынче это извращают? В смысле, раньше был ПирПиСи, но, как я вижу он устарел. Что нынче в моде? А то я от неё отстал. Всё на винде и на винде 8-)
                                              +1
                                              нынче в моде процы от Интел =) С ними меньше всего проблем при установке мака на PC. На АМД тоже можно воткнуть, но уже сложнее (не знаю точно ибо у самого Интел)

                                              На рутрекере видел образы систем для Vmware. Там же можно найти и обычный Хакинтош.

                                              Можно конечно, пойти «правильным путем» и приобрести себе Макбук или даже иМак =). Но лучше сначала посмотреть что это за система, а потом уже решать — нужна ли она или нет)
                                            +1
                                            для win есть замечательный e-texteditor, по мотивам text mate
                                              0
                                              Просто в руби проблема с кодировками, как я уже напоролся. Если изначально проект не под UTF-8, то пиши пропало. Но ничё, всё впереди 8-)
                                                0
                                                мне кажется, делать изначально проект не на unicode — это моветон :)
                                                но с поддержкой utf-8 у ruby тоже не все так радужно, как уже ниже написали, — 1.8.7 вам в руки)
                                                  0
                                                  На самом деле, я просто привык к тому, что Вижуальна студия в принципе всё в уникодах делает. Будем лабзать 1.8.7
                                      +2
                                      Лучше использовать Ruby 1.8.7. Достаточно скачать с официального сайта, распаковать куда-нибудь и добавить путь к %ruby%\bin в PATH. Да и InstantRails ни к чему, mongrel + sqlite3-ruby вполне достаточны для начала работы, тем более что InstantRails не обновлялся с 2007 года.
                                        0
                                        Спасибо за информацию, буду изучать дальше 8-)
                                        +1
                                        Прочитал, решил попробовать. Просто ради прикола — с Grails я разобрался, теперь надо бы посмотреть на первоисточник. Будет время — поиграю, а то и проектик какой-нибудь для универа можно написать…
                                          +1
                                          В данном случае скаффолд — это то, что берёт на себя функции доступа к БД и полностью лишает программиста всего мозгоё мучения.
                                          В данном случае Вам надо подучить матчасть и узнать что скаффолд всего-лишь генерирует файлы и кладет их в нужные папки, а с БД работает ActiveRecord
                                            +1
                                            Не холивара ради (так как я из третьего лагеря). Статья была бы актуальна года 2-3 назад, а сейчас появлением MVC.Net многое в ней спорно.
                                              +1
                                              Ну, на самом деле, руби меня просто порадовал абсолютно другим подходом к программированию. Всё-таки, эта разница между MVC и Ruby она черезвычайна. Просто совсем другой подход.
                                              +1
                                              Очень «демократично»! а то мне уже надоело с народом на работе сраться по поводу ASP.NET VS RoR, после прочтения все вопросы отпали у отдельных личностей ;-)
                                                +1
                                                Спасибо за статью. Все собрано для старта в одном месте. Хотелось бы узнать, в чем народ разрабатывает на Ruby под Линуком?
                                                  +1
                                                  vim
                                                    +1
                                                    Аптана под ubuntu есть! ;)
                                                      0
                                                      В vim очень удобно. RubyMine ещё есть. Платный, но он того стоит.
                                                        0
                                                        jedit — это тру.
                                                          0
                                                          gedit
                                                            0
                                                            mcedit
                                                            +2
                                                            писал как-то код на RoR, статья супер, хорошо расписано…
                                                              0
                                                              Советую добавлять C:\Ruby\bin в PATH, будет гораздо удобнее, тем более все обертки для запуска программ гем оставляет там. Виндузятников также касается тот факт, что если у вас русскоязычное имя пользователя, и соответственно, папка профиля с кириллическим названием, то проблем не оберетесь. Я решил это переносом профиля в другую папку и созданием символьной ссылки по старому пути на новый путь профиля.
                                                                +1
                                                                Кстати, если кому-то лень качать скринкасты, или хочется что-то в них найти и не пересматривать, есть отличный ресурс: asciicasts.com/, там текстовые версии скринкастов с railscasts.com
                                                                  +1
                                                                  Особое спасибо за линки на хорошую документацию (буду разбирать). Я «ленивый rails newbie» — работаю в совсем другой области но к rails интерес имею. И иногда наскоками возникает желание подучить, но вот толковой книги так и не нашел. Каждый наскок запинается на первой сотне страниц, где чрезмерно уж подробно разжеваны банальности, которые я уже читал. И даже читая по диагонали, чтобы отловить переход от «это я уже давно знаю» к «это уже что-то новенькое» — слишком уж много времени занимает пролистываение того, что уже знаю. Очень хочется короткий и лаконичный учебник, в котором было бы 80% понятно для опытного программиста, а те 20% что могут оказаться непонятными (за счет нехватки разжеванности) уже и нагуглить можно. Но читая большинство книг по рельсам, что я видел, складывается впечатление, что авторам платили за печатные знаки.
                                                                    +1
                                                                    Поиск какой-либо литературы по Ruby on Rails на русском языке закончился рутрекером и, разумеется, хабром.
                                                                    Ссылки не выкладываю, извиняйте. Пусть я и пират, но пиратство не распространяю.

                                                                    www.rubyonrails.ru/ — может для кого-то будет полезным посетить и немного ознакомиться, оказалось полезным.
                                                                    Там, кстати, есть цитата-крутилка, интересно было почитать :)
                                                                      0
                                                                      Спасибо большое! А по вашему мнению, где удобнее работать: в консоли или же, например в Aptana?

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