Как освоить Ruby on Rails - PullRequest
       1

Как освоить Ruby on Rails

5 голосов
/ 18 июля 2010

Я использую онлайн-уроки для изучения ROR. Я использовал видео уроки www.lynda.com, чтобы получить общее представление о Rails, и для практики я использовал Rails версии 2.0.2 во время обучения. Но теперь я работаю в команде разработчиков в начальной компании, где нет старших / опытных программистов, которые бы помогли мне, и мы работаем над великолепной модификацией исходного кода с использованием Rails 2.3.8. Я сталкиваюсь со многими трудностями в понимании исходного кода, и некоторые из основных отличий, которые я могу заметить, таковы:

  1. Включение XML и HTML для рендеринга представлений в скаффолдах, в Rails 2.3.8 (я не понимаю, что это такое, поскольку я никогда не сталкивался с этим в период обучения с использованием Rails 2.0.2)

  2. В каталоге исходных текстов, помимо контроллеров, моделей, представлений и помощников, есть еще два каталога, а именно, Процессоры и Металлы. Я не понимаю, в чем их значение.

  3. Широкое использование файлов .yml. Для чего они? В рельсах 2.0.2 все, с чем я сталкивался, было database.yml. Теперь в gitorious я вижу gitorious.yml. Как все это так настроено? Я имею в виду, как приложение rails (контроллеры, модели и т. Д.) Взаимодействует с gitorious.yml?

Что касается всех этих вопросов, как я могу подняться на один или два уровня вверх, чтобы называть себя «промежуточным программистом Rails» из «Начинающего программиста Rails»? и как мне оставаться в курсе новых API, устаревших, во всех будущих переходах Rails?

1 Ответ

3 голосов
/ 18 июля 2010

Включение XML и HTML для рендеринга представлений в скаффолдах, в Rails 2.3.8

Да, способ работы лесов изменился - я не могу точно вспомнить, когда он изменился, но я, конечно, могу поверить, что изменение произошло между 2.0 и 2.3.

Когда вы генерировали скаффолд старым способом, он просто включал в контроллер команды «скаффолд», которые отображали интерфейс по умолчанию для каждого из действий, пока вы не заменили их своими собственными шаблонами HTML.

Новый способ фактически генерирует шаблоны HTML в виде файлов: так что в каталоге views будет каталог, содержащий ERb (HTML со встроенным Ruby). Затем вы можете перейти и редактировать их напрямую.

Он также отображает XML - это делается по умолчанию, но вы можете выбрать, какие другие форматы будут созданы. Rails позволяет создавать несколько выходных форматов для каждого действия контроллера, чтобы вы могли легко создавать веб-службы RESTful. Таким образом, вы, очевидно, создаете XML по умолчанию, но вы можете захотеть создавать и другие форматы машины: XML (включая RSS / Atom), JSON (и JSON-P и т. Д.), RDF, YAML. Я использую это для создания CSV и Excel, чтобы пользователи сайта могли экспортировать данные в свой пакет электронных таблиц.

В каталоге исходных текстов, в дополнение к контроллерам, моделям, представлениям и помощники есть еще два каталоги, а именно, процессоры и Металлы. Я не понимаю, что их значение.

processors / используется ActiveMessaging - он содержит процессоры ActiveMessaging - в основном код, который вызывается как часть связи с очередью сообщений, к которой подключается ActiveMessaging.

metal / содержит код, который лучше всего можно охарактеризовать как «промежуточное программное обеспечение» - в основном, для развертывания приложения Rails вы используете библиотеку Rack, которая абстрагирует интерфейс между сервером и самим приложением. Он позволяет вам использовать один и тот же веб-сервер и другую инфраструктуру и переключаться между различными средами Ruby - поэтому, если вы используете Rails, Sinatra или Merb, Rack позволяет им всем взаимодействовать с одним сервером.

Теперь Rack позволяет вам писать код «Металл», то есть код, который запускается непосредственно на сервере, не мешая инфраструктуре. Причина, по которой вы пишете код Metal, заключается в производительности: когда код Metal запущен, он работает напрямую, а не под воздействием веса инфраструктуры Rails. Таким образом, вы можете получить лучшую производительность. Мне никогда не приходилось писать какой-либо металлический код, так что я не могу объяснить его дальше.

Широкое использование файлов .yml. Какие это для? В рельсах 2.0.2 все у меня наткнулся был на database.yml. Сейчас, в gitorious я вижу gitorious.yml. Как все это так настроено? Я имею в виду, как сделать рельсы приложение (контроллеры, модели, и т.д ..) общаться с gitorious.yml?

Файлы

.yml - это файлы в формате YAML . В Rails они в основном используются для настройки. Так же, как файлы XML используются приложениями Java для конфигурации, файлы .rc используются в Unix для конфигурации, а файлы .ini используются (были?) Для различных приложений в Windows для конфигурации, вы можете хранить данные в файле YAML, который Rails приложение использует для конфигурации. Из-за простоты формата многие приложения Ruby и Rails используют YAML для файлов конфигурации.

В Ruby есть встроенный модуль YAML, который загружает их с использованием методов в модуле YAML, включая YAML.load, YAML.load_file, YAML.load_documents и т. Д. Чтобы увидеть, как они загружаются, я предлагаю самое простое: найти строку "YAML." в проекте - или, собственно, имя файла yml.

По всем этим вопросам как мне подняться на один или два уровня вверх, чтобы называть себя "промежуточным рельсом" программист "из" Rails новичка программист "? и как мне оставаться в курсе новых API, амортизации, во всех Предстоящие переходы Rails?

Я бы предположил, что с обновлениями Rails уместно изрядное количество консерватизма.Я все еще использую Rails 2.3.3 на производственной площадке, и это нормально.Возможно, мне следует обновить систему до 2.3.8, но я не склонен работать с самыми передовыми технологиями в производственных проектах.

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

Что касается книг, есть Agile Web Development с Rails - довольно хороший учебник.Есть также Rails Way , который является обширным настольным справочником и, по моему опыту, одним из немногих хороших способов узнать о некоторых мелочах.Возможно, вы также захотите проверить вопрос StackOverflow Какой лучший ресурс для изучения Rails для начинающего новичка? - потому что, хотя вы, очевидно, не являетесь начинающим новичком, рекомендуемые ресурсы являются современными и полезнымидля перехода от новичка к среднему и далее.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...