Какие компоненты Ruby on Rails мне нужно понять? - PullRequest
1 голос
/ 21 июля 2010

Я изучал это онлайн-руководство по рельсам: http://www.railstutorial.org/ Я очень рекомендую его, если вы хотите получить представление о том, что делает рельсы, и о некоторых лучших методах практики.

Но теперь, когда я делаю свое первое приложение, у меня возникают проблемы с изоляцией частей Rails, которые мне нужно понять и изучить. Мой вопрос: какие компоненты рельсов мне нужно понять, чтобы быть компетентным. Если бы вы могли указать, где находятся ресурсы, это было бы также очень признательно.

Это приблизительное представление о том, что я должен знать:

  • Базовый Рубин
  • Архитектура контроллера представления модели (MVC)
  • Объектно-ориентированное программирование
  • Плагины
  • Инструменты типа Rake
  • Тестовая среда (rspec?)
  • Rails config
  • Rails-скрипты (генерировать и т. Д.)
  • Как развернуть
  • API
  • Где документация (и хорошие ресурсы)
  • Agile методология

Предполагается, что я опытный разработчик, у меня настроена среда разработки и я могу выполнять базовое приложение hello world

Ответы [ 3 ]

6 голосов
/ 10 января 2014

Ниже приведены базовые компоненты Rails (гемы, а не зависимости и библиотеки).

ActiveSupport - это библиотека совместимости, включающая методы, которые не обязательно относятся к Rails.Вы увидите, что ActiveSupport используется не-Rails-библиотеками, потому что он содержит так много полезных базовых функций.ActiveSupport включает в себя такие методы, как то, как Rails изменяет слова с одного на множественное, или CamelCase на snake_case.Он также включает в себя значительно лучшую поддержку времени и даты, чем стандартная библиотека Ruby.

ActiveModel подключает функции ваших моделей, которые на самом деле не относятся к базе данных - например, если вы хотитеURL для данной модели, ActiveModel поможет вам там.Это тонкая оболочка для множества различных реализаций ActiveModel, чтобы рассказать Rails, как их использовать.Чаще всего реализации ActiveModel являются ORM (см. ActiveRecord ниже), но они также могут использовать нереляционную память, такую ​​как MongoDB, Redis, Memcached или даже просто память локального компьютера.

ActiveRecord isобъектно-реляционный картограф (ORM).Это означает, что он сопоставляет объекты Ruby и таблицы в базе данных SQL.Когда вы запрашиваете или пишете в базу данных SQL 19 в Rails, вы делаете это через ActiveRecord.
ActiveRecord также реализует ActiveModel.ActiveRecord поддерживает MySQL и SQLite, а также JDBC, Oracle, PostgreSQL и многие другие.

ActionPack выполняет маршрутизацию - сопоставление входящего URL-адреса с контроллером и действие в Rails.Он также настраивает ваши контроллеры и представления и обрабатывает запрос с помощью действия контроллера, а затем с помощью рендеринга представления.Для некоторых из них ActionPack использует Rack.Сам рендеринг шаблона выполняется через внешний гем, такой как Erubis для шаблонов .erb или Haml для шаблонов .haml.ActionPack также поддерживает функциональность, ориентированную на действие или представление, например, кэширование представления.

ActionMailer используется для отправки электронной почты, особенно электронной почты на основе шаблонов.Он работает так же, как вы надеетесь, что электронная почта Rails будет с контроллерами, действиями и «представлениями», которые для электронной почты являются текстовыми шаблонами, а не обычными шаблонами веб-страниц.

Стандартное приложение Rails зависит отнесколько драгоценных камней, в частности:

аннотация

actionmailer

actionpack

activemodel

activerecord

activesupport

arel

строитель

связка

erubis

i18n

mail

mime-types

полиглот

стойка

стойка-кеш

стойка

стойка-тест

рельсы

рельсы

грабли

sqlite3-ruby

тор

верхушка дерева

tzinfo

0 голосов
/ 15 октября 2013

В рельсах основными компонентами, которые следует отметить, являются:

  1. конфигурация для вашего приложения
  2. гемов с определенной версией, необходимой для вашего приложения (доступно на rubygems.org)
  3. направляет информацию для вашего приложения
  4. леса и генераторы в вашем приложении
  5. три различные среды для вашего приложения, такие как Разработка, Тестирование, Производство
  6. стратегии тестированиядля вашего приложения, например, модульное тестирование, функциональные тесты
  7. Настройки баз данных для ваших различных сред 2 и механизм базы данных, такой как sqlite, mysql, postgres
  8. server для запуска вашего приложения
  9. управление вашими активами в папке app / assests
  10. Методы для развертывания вашего приложения и многое другое ......

    Кроме того, вы должны пройти через эти слайды

    , а эта страница также содержит много информации о важном компоненте рельсов.

0 голосов
/ 21 июля 2010

Некоторые вещи, которые приходят на ум ...

Хорошая IDE / редактор полезна, распространенными являются TextMate (с пакетами), Aptana RadRails, Vim (с плагинами).

Обязательно посмотрите потрясающие скринкасты Райана Бейтса и http://railscasts.com/

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