Ruby on Rails шаг за шагом. #2 Рабочее место и первое приложение

    На этот раз мы развернем «полигон» девелопера RoR, поговорим о gem, сгенерируем и запустим первое приложение.

    Instant Rails


    Установка рабочего комплекта для Windows максимально проста, а все из-за того, что один щедрый программист по имени Курт Хибс уже собрал для нас все необходимое для разработки приложений RoR в одном пакете под название Instant Rails. В пакеты собраны:
    • интерпретатор Ruby,
    • движки БД SQLite и MySQL,
    • веб-сервер Apache (который, собственно, нам не нужен…)
    • и сами Rails


    Скачаем Instant Rails (IR) с официального сайта, распакуем содержимое архива в любую папку (лучше, если расположить ближе к корню диска, а также в пути не должно быть пробелов, рекомендую C:\ruby). В архиве около 18000 файлов, так что придется немного подождать. После запускаем InstantRails.exe и в появившемся запросе нажимаем ОК для того, чтобы прописались пути – вообще само это приложение нам не нужно – мы будем использовать специальный веб-сервер, написанный на Руби, а в качестве БД нам будет служить SQLite. Спасибо, Курт, за старания, но мы останавливаем апач и мускул и закрываем все это добро.
    Однако при загрузке комплекта вы, скорее всего, заметили, что последняя его версия датируется аж концом позапрошлого года, так что нам необходимо обновлять компоненты. Прежде всего, устарел фрэймворк RoR – за его обновление мы и возьмемся. Как это сделать? На помощь приходит gem.

    gem


    Все дополнения, библиотеки и программы для Руби находятся во всемирном репозитории Ruby Application Archive (RAA), в котором уже находятся более 1700 проектов. Для установки (как удаленно, так и локальной) и контроля этих дополнений как раз и используется программа gem. Добро пожаловать в консоль (Пуск->Все программы->Выполнить->вводим cmd->OK). В ней переходим в папку с IR (cd c:/ruby) и запускаем use_ruby (use_ruby.bat) – этот bat файл пропишет нам необходимые пути в PATH, что сделает работу с RoR еще удобнее, что сделает работу с RoR еще удобнее. Работать мы будем всегда только через use_ruby.bat, поэтому не забываем запускать его. Командуем: gem list и видим список всех установленных «джемов». Команда gem update должна нам обновить их все, однако этого не произойдет, потому что система обновлений уже устарела, не оставив обратной совместимости. Поэтому порядок команд такой (для того, чтобы не путаться, мы сразу удалим старые версии джемов):
    • gem install rubygems-update
    • update_rubygems
    • gem uninstall rails activerecord activeresource activesupport actionpack actionmailer
    • gem install rails --include-dependencies

    Думаю, что тут все интуитивно понятно и объяснять, что, как и почему, не стОит. Дальше ждем, пока все компоненты загрузятся и установятся (особенно долго создается документация, но нам спешить некуда).

    Установка «с нуля»


    Если вы любите брать все под свой контроль или у вас уже установлен MySQL, то для вас подойдет развертывание среды вручную. Это совсем несложно, начнем с офсайта Ruby и скачаем пакет Ruby 1.8.6 One-Click Installer — он содержит дополнительные библиотеки под Windows, устанавливаем все по умолчанию. Затем заходим в Пуск — Ruby-186-xx — Ruby Gems — Ruby Gems package manager и здесь, как и было описано выше, устанавливаем необходимые джемы (rails --include-dependencies, mysql, mongrel).

    Структура приложения


    Как мы уже говорили, RoR должен следовать определенным соглашениям. Одно из них – приложение на RoR всегда имеет строгую структуру папок. Вот ее первый уровень:
    image
      Но не торопитесь создавать папки – как обычно, RoR делает рутинную работу за нас.

    Тестовое приложение


    При инсталляции RoR было установлено и приложение rails, которое будет генерировать структуру папок для приложения и создавать базовые файлы с кодом. У нас по-прежнему должна быть открыта «рельсовая консоль», с приглашением в папке rails_apps (в ней и будут находиться приложения). Мы создадим приложение test, командуем: rails test. Ждем окончания генерации. Как видим, была создана отдельная папка, в которой и поместилась вышеупомянутая структура. В следующий раз мы узнаем, для чего нужна каждая папка, а пока просто запустим веб-сервер Mongrel, чтобы посмотреть результат. В консоли перейдем в папку с приложением (cd test) и скомандуем: ruby script/server. В результате и будет запущен Mongrel:

    image
    Как видим, сервер поселился на 3000 порту. Что ж, открываем браузер и переходим на
    http://127.0.0.1:3000/
    – и тут нас уже ждет тестовая страница с приветствием. Да, вы уже ездите по Рельсам вместе с Руби ;) Нажав на “About your application’s environment”, вы узнаете параметры вашего окружения:

    image

    Эпилог


    Вот и первое «demo» у нас уже есть. Дальше опять вернемся и углубимся в теорию — расскажу об особенностях RoR, как фрэймворка на Руби, ЯП с возможностью мета-программинга, узнаем о принципах REST и начнем проектировать наш многопользовательский блог. Так же хотелось бы узнать ваше мнение по поводу выпусков части уроков в виде скринкастов или презентаций. Жду комментарии!
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 90
      +2
      >собрал для нас все необходимое для разработки приложений RoR в одном пакете под название Instant Rails.

      Думаю стоило бы рассмотреть и вариант «ручной» установки, хотя бы потому что у многих уже стоит (и настроен) и апач, и мускул и не хотелось бы сбивать настройки, тем более, возможно, устанавливать старую версию. Да трафик для некоторых не бесплатен, качать то, что заранее не нужно как-то не улыбается.

      >Добро пожаловать в консоль! В ней переходим в папку с IR и запускаем use_ruby – этот bat файл пропишет нам необходимые пути в PATH, что сделает работу с RoR еще удобнее. Командуем: gem list

      Не знаю, есть ли среди читателей те, кто не поймет эту фразу, или поймет неправильно, но я бы написал:
      Добро пожаловать в консоль (Пуск->Все программы->Стандартные->Командная строка — здесь и далее в скобках команды для Windows, никсоиды сами должны разобраться:) ) В ней переходим в папку с IR (cd c:/ruby) и запускаем use_ruby (use_ruby.bat) – этот bat файл пропишет нам необходимые пути в PATH, что сделает работу с RoR еще удобнее…

      >Так же хотелось бы узнать ваше мнение по поводу выпусков части уроков в виде скринкастов или презентаций.

      Как основную форму подачи материала не хотелось бы
        0
        Спасибо! Я все исправил, дописал. А вообще Apache принципиально не нужен — есть свой отладочный веб-сервер, который займет свободный порт. И, как было написано в прошлой статье, Active Record делает нас независимыми от движка БД — с SQLite немного проще работать, но если есть MySQL, то изменятся только настройки БД в приложении
          0
          По своему опыту — таки не выдержал разработку под рельсы под виндой, на второй раздел поставил убунту и для разработки стартую именно ее.
          Уже наметил к приобретению мак :)
          www.rubyrailways.com/why-buying-a-mac-for-rails-developers-is-a-good-idea/
          0
          А существует ли какое-либо IDE? Хорошо работающие с RoR?
            0
            NetBeans 6.5
            и работает не только с RoR и бесплатен
              +1
              По идее можете поставить RubyMine, но действовать он будет ограниченный срок. Хотя кто-то на хабре упоминал что ранние IntelliJ IDEA 7.* по EAP достаточно было переустановить чтобы продолжить работу.
                0
                RubyMine будет работать месяц, за это время выкладывается следующий EAP, который опять же работает месяц
                  0
                  Простите, а что такое EAP?
                    0
                    Типа триала. Программа раннего доступа.
                  0
                  Emacs для RoR заточенный под windows:
                  nexus.org.ua/weblog/message/755/
                    0
                    Поддержу Benderlidze, NetBeans 6.5 отличная среда для разработки, пользуюсь дистром под *nix. Необходима установка небольшого расширения для RoR. Отличное управление проектом, скоростное выполнение, практически, всех операций через контекстное меню. Дебаггер, своя консоль…
                      0
                      Забыл про хоткеи упомянуть для всего богатства ))))
                    +1
                    да и как вариант можно поставить NetBeans 6.5 рельса, руби и сервер уже встроены
                      0
                      Думаю было бы не лишним упомянуть о использование mongrel под win32 для запуска приложений в качестве сервиса.
                        0
                        В NetBeans можно установить mongrel :)
                          0
                          А причем тут NetBeans?
                            0
                            @использование mongrel под win32@

                            причем тут NetBeans? — кроссплатформенное IDE
                              0
                              Вы чего курите, ребята?))

                              Я написал про то, что порой вместо того, что бы каждый раз запускать RoR приложение методом ruby script/server, удобнее установить его как сервис в винде (mongrel_service).
                                0
                                gem install mongrel
                                  0
                                  gem install mongrel
                                  gem install win32-service
                                  gem install mongrel_service
                                  mongrel_rails service::install -N MyAppsServiceName -c c:\app\myapp -p 3000 -e production
                          0
                          Еще хотелось бы узнать о возможностях Ruby on Rails в целом. Я слышал, что с ним можно создавать только «однообразные сайты (системы)». Что у него абсолютно убогий шаблонизатор, что часть выдачи приходится хранить в коде и что верстальщику будет практически нереально самому натягивать верстку. Это правда? Или у меня устаревшая информация и все проблемы давно решены (или вообще никогда не стояли)?
                            0
                            «часть выдачи приходится хранить в коде » э… поясните пожалуйста смысл фразы. И посмотрите информацию о MVC (model-view-controller).

                            И «однообразные сайты» это про что?
                              0
                              Я знаю что такое MVC. А еще я работал с продуктами IBM и знаю как часто разработчики заявляют о 100% поддержки различный технологий и архитектур и что бывает на самом деле (то есть доверяй но, проверяй и что на деле все не так хорошо как обещали).
                              А еще ответ на ваш комментарий в комментарии к комментарию ниже. :)
                                0
                                Основываясь на том, что мне писали в прошлом «шаге», могу предположить, что имеются в виду хелперы
                                0
                                Видимо, у вас всё-таки устаревшая информация.

                                Мне тоже не очень понятно, что значит «однообразные сайты», но проблем с разнообразием сайтов я не встречал. Касательно шаблонизатора — ни в коем случае не считаю стандартный Erb убогим (у него есть проблемы с производительностью на действительно сложных шаблонах), но ничего не мешает подключить Haml-шаблонизатор, который работает значительно быстрее. Верстальщику для полноценной натяжки верстки необходимо немного (в пределах трех-четырех часов изучения) знать Ruby (уметь написать if и for) — в остальном там чистых HTML.
                                  0
                                  Прошу прощения, если я кого-то задел своими словами.
                                  Я занимаюсь front-end. Для общего развития решил выучить какой-нибудь язык для того что бы охватить весь процесс разработки в целом. Вот выбираю.
                                  У меня есть опыт работы c C#, Java (сраная WebSphere и портлеты).
                                  Почему-то в моей дурной голове сразу зародились мысли:
                                  1) Я не хочу учить perl
                                  2) PHP слишком просто
                                  3) хочу изучать либо C#, либо RoR, либо питона, (ну в крайнем случае Java).
                                  Поскольку реальной цели нет, то и подход соответствующий (за это и прошу прощения).
                                  Все что написано в предыдущем комментарии — ОБС (одна баба сказала). Приятель perl-ст старательно опустил RoR.
                                  Про однообразные сайты. Была высказана мысль, что все возможности RoR представлены на сайтах basecamp и campfire. При это не просто все что можно сделать на RoR упрается в эти проекты, но и даже то как это будет выглядеть.
                                  Про шаблонизатор сказали, что он крайне неудобен. Что полностью отделить данные и представление невозможно и в базе (или в скрипте) придется хранить еще и HTML (соответственно верстальщик работать с шаблонами самостоятельно может не всегда).

                                  Буду рад если вы мне разъясните эти моменты.
                                  Буду благодарен если дадите хороший совет относительно моего желания выучить какой-нибудь скриптовый язык (относительно выбора языка :)).
                                    0
                                    Простите. Зашел на www.rubyonrails.ru/ и понял о чем говорил приятель про однообразие. :)
                                    У них один дизайнер? Или это стандартный шаблон?
                                    У сайтов даже структура одна… Может быть реально все остальное сложно реализовать?
                                      +1
                                      Взгляните на список сайтов на RoR в рунете ( groups.google.com/group/ror2ru/web/rubyonrails-2 ) и во всем мире ( rails100.pbwiki.com/Alexa+Rankings )

                                      Быть может измените мнение или только подтвердите его — у всех разное видение
                                        +1
                                        Посмотрите чуть дальше — rubyonrails.org/applications

                                        На русскоязычных ресурсах бывает, к сожалению, устаревшая и неполная информация :)
                                          0
                                          Это шаблон, который использовался с разрешения автора Rails. rubyonrails.ru — русскоязычное зеркало rubyonrails.org.
                                          +1
                                          Сейчас сканирую книгу «Ruby on Rails, быстрая разработка», могу потом переслать :) Хорошая книга для ознакомления.
                                            0
                                            Качните rails recipes, когда поднимите скилл по руби в целом.
                                            Однозначно книга стоящая прочтения.
                                            +1
                                            Да что вы — никого вы не задели.

                                            Что касается ваших альтернатив: я писал на C#, RoR и немного на Python. Субъективно мне больше нравится RoR (из-за обилия удобных мелочей при разработке), но C# (видимо, вы говорите об ASP.NET) — тоже очень и очень хорош, особенно в последних версиях. Про Python мне судить сложно, так как я не работал с Django (а это основной способ разработки веб-приложений на пайтоне). Вообще Ruby и Python во многом похожи с точки зрения синтаксиса (но пайтон работает быстрее).

                                            Посоветовать вам что-либо довольно сложно: все три альтернативы весьма хороши (но если это вам важно, то бесплатный софт для разработки проще раздобыть для RoR и пайтона — хорошая Visual Studio стоит больших денег). C#, пожалуй, посложнее для новичка будет, но не в разы. В общем, выбирайте либо наугад, либо по тому же принципу, что и дистрибутив линукса — тот, который знает кто-либо из ваших хороших друзей (чтобы мог давать советы).

                                            Возвращаясь к вашему мнению о rails: посмотрите, например, на сайты play-me.ru, carzzz.ru, linkfeed.ru — все они написаны на RoR, но у них мало общего с тем же BaseCamp. В общем, я не вижу каких-либо ограничений на разнообразии сайтов.

                                            Про шаблонизатор: верстальщик может работать только с шаблонами (и не трогать другие файлы вообще), но иногда хочется повторяющийся HTML-код вынести в отдельные методы; верстальщик может писать одно и то же несколько раз, а может, действительно, написать вспомогательный метод (не в шаблоне, а в отдельном файле, доступном сразу всем шаблонам), который облегчит его работу. Не знаю, как эта проблема решена в Perl, но полагаю, что примерно так же. Но в базе хранить HTML не прийдется никогда.

                                            Пример вспомогательного метода:
                                            def user_link(id)
                                               "<a href='/users/#{id}'>Пользователь</a>"
                                            end
                                            


                                              0
                                              Спасибо!
                                              Вы мне очень помогли.
                                              Да. Имел ввиду именно .net.
                                              0
                                              Web на Java: Wicket, Stripes, GWT, Grails.
                                            0
                                            В целом шаблонизатор гораздо симпатичнее, чем где бы то ни было, этап от получения верстки до внедрения в layouts, views и partials занимает очень малое время.

                                            Если есть цель создавать «скины» для сайта дизайнером, то вполне подойдет Liquid.
                                              0
                                              А можно узнать с чем сравнивали?
                                            0
                                            Спасибо за топик! Очень нужную работу делаете.
                                              +2
                                              Было бы интереснее, если вы в своем будущем примере проектирования взяли не блог, а что-нибудь другое. Создание блога описывается почти в каждой книге по ROR, в официальном скринкасте по быстрой разработке — блог. У публики может сложится впечатление, что ROR это движек для блогов. Между тем, решение любой задачи — от фотогаллереи до интернет-магазина можно изящно и быстро продемонстрировать на примере ROR.
                                                +1
                                                Интернет-магазин — тоже неплохая идея, но уже освещен в Rails-библии Agile Web Development от Progmatic Programmers
                                                  0
                                                  Про многопользовательский блог, тоже хорошая книженция есть кстати.
                                                  Apress — Practical Rails — Social Networking Sites
                                                  0
                                                  Согласен насчет блога, могу предложить доску объявлений о работе (типа совсем не Jobeet :-D), ТЗ могу набросать
                                                    0
                                                    Замечательная идея!
                                                    0
                                                    Почему бы Вам не прочитать Agile Web Development with Ruby On Rails? Мне дико интересно, какую почти каждую книгу по ROR вы прочитали, будучи до сих пор заинтересованным в такого рода статьях.
                                                      0
                                                      Я имел в виду интерес сообщества, а не личную заинтересованность. Agile Web development читал. И я буду рад любой хорошей статье о ROR на Хабре, даже если мне она не принисет ничего нового.
                                                    0
                                                    почему вы не написали как надо устанавливать rubygems 1.3.1 (вижу у вас на скриншоте)? ведь они по другому устанавливаются
                                                    gem install rubygems-update
                                                    update_rubygems
                                                    вот так
                                                      0
                                                      Совсем запаямятовал — спасибо, что напомнили
                                                      0
                                                      Поделюсь мыслью, которая меня посетила недавно.
                                                      RoR для веба — это как 1С для бухгалтерии.

                                                      По сути своей примерно несущий аналогичную функцию — перенести разработку на новый уровень абстрации кода дополняясь уже созданными и вылизанными готовыми блоками кода (модулями, плагинами, джемами) для ускорения процесса разработки.

                                                      Почему каждый раз на PHP, Parser 3, _ вставить другое _ каждый изобретает свой велосипед для банальных вещей, типа авторизации пользователей?
                                                        0
                                                        Плохая аналогия, авторизация пользователей спецефична для каждого приложения. Вы будете удивлены, узнав сколько плагинов для авторизации и аутентификации существует для Rails.

                                                        Даже пагинацию можно делать разными способами.
                                                        0
                                                        Это, в принципе, можно сказать о любом нормальном веб-фреймворке, будь он основан на PHP, Ruby или С#, как 1С-Предприятие является по сути фреймворком для решения задач учета (в большей степени) и аналитики (в меньшей).

                                                        А возможности изобретать велосипеды ни один нормальный язык, имхо, не должен исключать. Кстати, именно поэтому я просил автора теперь уже двух циклов не переходить быстро к рельсам, а немного поизобретать велосипеды для типичных задач при веб-разработке на чистом Руби. Мне очень не нравится тенденция смешения понятий языков и библиотек/фреймворков в веб-разработке. Говорим Руби — подразумеваем РоР, говорим Питон — подразумеваем Джанго, говорим С# — подразумеваем.нет
                                                        0
                                                        Мне кажется, вы нас не уважаете, если пишите как нужно установить программу. Интересно сколько будет шагов, если на втором шаге вы рассказываете такие несущественные вещи.
                                                          0
                                                          Три строчки вы считаете не проявлением уважения?
                                                            0
                                                            То бишь проявлением неуважения :)
                                                            0
                                                            Всего три строки, на то, чтобы рассказать, что необходимо распаковать архив в определенную папку, запустить исполняемый файл, чтобы прописать пути и вырубить программу. Путь с пробелами — ничего не выдет, запустить просто консоль — не будет записан PATH, запустить user_ruby — тоже не выйдет, т.к. нет путей, запустили программу, чтобы записать путь, а она вам апач с мускулом загрузила, которые абсолютно не нужны. Я писал только самое необходимое
                                                              0
                                                              Мне всё-таки кажется что планку нужно брать несколько выше, потому что эта статья — ни о чём. Совершенно очевидная информация. Со всем этим каждый может справится самостоятельно.
                                                              Вот вся ваша статья:
                                                              $gem install rails
                                                              $rails test
                                                              $cd test
                                                              $script/server

                                                              А зачем нужна это вода — не понятно. И зачем качать какой-то старинный пакет, если мы будем использовать только половину его, а вторую половину нужно обновить тоже не понятно. И главное, не понятен смысл этого труда.
                                                                0
                                                                Смотрю по порядку:
                                                                — Instant Rails полезно тем, кто вообще в первый раз устанавливает дев-сервер
                                                                — gem — имхо, даже недостаточно подробно для тех, кто никогда не видел ни то что нормальной консоли, а даже «Командной строки», в мире Windows я не слышал понятия репозиторий, хотя знком с ней начиная с версии 3.0. Это после знакомства в прошлом году с Linux вообще и apt-get в частности мне понятно, что делает команда gem
                                                                — устанавливаем с нуля — лично моя инициатива, критично посмотреть не могу :)
                                                                — структура приложения — немного невнятное, но все-таки объясненое положение дел
                                                                — тестовое приложение (имхо, половину его надо было перенести в предыдущий раздел)]]

                                                                Еще смотрю на ваш «скриншот», непонятно, почему нет wget, tar… и т. п. или в вашем дистре рельсы включены по умолчанию?
                                                                  0
                                                                  Если Instant Rails последний раз обновлялся два года назад, то стоит ли о нём вообще говорить? Сколько лет будем мусолить мёртвый продукт?
                                                                  gem это вообще отдельная история. Тут же не идиоты собрались которые не способны сами разобраться в простых вещах? Raby такой простой и элегантный язык, а статья — плевок в его идеологию :)
                                                                  То есть мне хотелось бы уже видеть рельсы, а тут всё какое-то соплежуйство :)
                                                                  Мне не кажется, что нужно быть гением, чтобы поставить софт. Это, чёрт возьми, всего лишь софт, и уделять этому столько внимания… ну это ппц просто.

                                                                  Листинг… его можно дополнить двумя строками, я там забыл ещё «поставить» sqllite, но это всё равно в разы меньше и, по-моему, проще чем то, что написано в статье. Меня бы это только запутало…

                                                                  Я не писал ничего на Rails, пока только интересуюсь, но тем не менее у меня не возникло никаких проблем с установкой. Зачем всё так усложнять?
                                                                    0
                                                                    Не два года назад, а чуть больше года назад, мы же не будем приводить 1,09 к 2? ;)

                                                                    gem использует идеологию репозитарев пакетов, для многих windows программеров, админов, не говоря уж об юзерах она полностью не знакома. Я, например, c apt-get разбирался 5 суток, прежде чем понял, что все что мне нужно это коннект к интернету

                                                                    Raby может и простой и элегатный, но если вы читали начало этих циклов, то вы могл заметить, что они для тех, кто только недавно осознал, что программу он может сам написать, а не только «бородатые колдуны в очках»

                                                                      0
                                                                      Хорошо… Есть люди которые не умеют пользоваться компьютером или текстовыми редакторами или браузером или не умеют читать. Всё это тоже нужно охватить? Можете не отвечать…
                                                                      Я разочаровался отсутствием рельс в первой статье, и ждал их во второй, но во второй рельс тоже нет и подозреваю что не стоит рассчитывать и на третью…
                                                                        –1
                                                                        Я вас прошу, вы не беспокойтесь — все будет, просто статьи рассчитаны для начинающих, и если они сразу не поймут мелочи — дальше ничего не будет получаться. Вам действительно просто стоило переждать пару статей ;)
                                                                0
                                                                а можно просто в системные переменные добавить путь к ruby, тогда не будет необходимости запускать скрипт. Кстати, рекомендовал бы вам написать еще о том как установить (и как его использовать) git для windows (хотя бы) и как настроить его для github.com, новичкам наверняка это будет полезно
                                                                  0
                                                                  О git обязательно напишем, когда он пригодится
                                                                    0
                                                                    задайте ему жару… :)
                                                                +1
                                                                у меня тут почти оффтопик, но все же
                                                                когда делаю скаффолд
                                                                script/generate scaffold news title:string body:text

                                                                возникает адская ошибка из-за того, что при создании скафолда рельсы пытаются перевести название «news» во множественное число и это не выходит, как это обойти?
                                                                  0
                                                                  в рейльс 2-й и выше версии не надо вводить отдельно имя для контроллера и для модели
                                                                    0
                                                                    поясните плз
                                                                      0
                                                                      Обойти можно, если сделать script/generate scaffold New title:string body:text
                                                                      Тогда plural отлично подойдет
                                                                        0
                                                                        Это адская заглушка, я даже пробовал выключить plural для моделей, но не спасает, и даже вписывал для uncountable все равно шляпа
                                                                          0
                                                                          заведите модель Post вместо News.
                                                                            0
                                                                            Это костыль, а не решение проблемы.

                                                                            p.s. Давайте теперь из-за невозможности называть вещи своими именами придумывать им другие :(
                                                                          0
                                                                          К сожалению и этот костыль сломался

                                                                          NameError in News#index

                                                                          Showing app/views/news/index.html.erb where line #24 raised:

                                                                          undefined local variable or method `new_new_path' for #<ActionView::Base:0xf71abbb4>

                                                                          Extracted source (around line #24):

                                                                          21:
                                                                          22:
                                                                          23:
                                                                          24: <%= link_to 'New new', new_new_path %>
                                                                      +1
                                                                      localhost:3000/news/new

                                                                      ActionController::RoutingError in News#new

                                                                      Showing app/views/news/new.html.erb where line #3 raised:

                                                                      news_url failed to generate from {:action=>«show», :controller=>«news»} — you may have ambiguous routes, or you may need to supply additional parameters for this route. content_url has the following required parameters: [«news», :id] — are they all satisfied?

                                                                      Extracted source (around line #3):

                                                                      1: New news
                                                                      2:
                                                                      3: <% form_for(@news) do |f| %>
                                                                      4: <%= f.error_messages %>
                                                                      5:
                                                                      6: вот такую канитель сыплет
                                                                        0
                                                                        (applause) Вы нашли баг :)
                                                                          0
                                                                          я нуб в рельсах, поэтому найти баг приравнено к не понять, всей генеальности разработчиков :)
                                                                          p.s. я видимо что-то не так делаю
                                                                          p.s.s. если я один такой ненормальный решил сделать урл /news/ генерируя скаффолдами :)
                                                                        +1
                                                                        У слова News (как не странно, это единственно число) действительно множественного числа нет :(
                                                                          0
                                                                          тогда почему же не работает следующая конструкция?
                                                                          ActiveSupport::Inflector.inflections do |inflect|
                                                                          inflect.uncountable %w( news )
                                                                          end

                                                                          в файле config/initializers/inflections.rb

                                                                          p.s. может еще чего подкрутить нужно?)
                                                                            0
                                                                            еще момент не пашет только def new
                                                                            list
                                                                            show
                                                                            update
                                                                            destroy

                                                                            пашут вполне вменяемо
                                                                            p.s. Может дело в том что нельзя делать имя модели New?
                                                                            0
                                                                            help me
                                                                            p.s. мой мозг уже кипит)
                                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                            0
                                                                            Для всего этого лучше просто поставить Аптану www.aptana.com/ и Rails плагин в придачу www.aptana.com/rails
                                                                              0
                                                                              Aptana действительно плоха.

                                                                              Если вам с Windows некуда деваться, осваивайте Emacs или Vim (никогда не поздно начать); в крайнем случае, если без IDE не можете, NetBeans.
                                                                                +1
                                                                                А чем это плоха? Спасибо, но мне Фара хвататет уже как 7 лет.
                                                                                  0
                                                                                  фар — отличная IDE )
                                                                                  сам пользовался им и даже написал подсветку синтаксиса, однако подумайте, сколько открытий новых вам предстоит сделать, если узнаете что:
                                                                                  * можно стартовать/останавливать сервер без выхода из редактора, просто хоткеем.
                                                                                  * можно прыгать к нужному файлу в проекте буквально моментально
                                                                                  * можно открывать view, partial соответствующий данному контроллеру хоткеем
                                                                                  * можно делать deploy проекта на сервер
                                                                                  * можно управлять системой контроля версий
                                                                                  * можно запускать процесс тестирования хоткеем
                                                                                  * банальный автокомплит
                                                                                  и многое, многое другое.
                                                                                    0
                                                                                    Ну как бы все это есть в аптане, а фар я использую для php проектов, где все эти фичи как бэ нафиг не нужны вовсе.
                                                                                      0
                                                                                      А как у него сейчас с поддержкой UTF? Пару лет назад именно из-за нее ушел от FAR к навороченным IDE…
                                                                                +1
                                                                                пасиба, будем ждать новых статей.
                                                                                  0
                                                                                  Вот теперь видно, что статью Вы писали сами.
                                                                                  Кто еще горит желанием установить Instant Rails? какого оно, 2005-го года, верно?
                                                                                    0
                                                                                    последняя версия IR 2.0 28.12.2007, да в принципе это не имеет значения.

                                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                  Самое читаемое