Статьи

Повышение вашего рабочего процесса разработки Rails

рельсы
Эта статья в основном для людей, которые плохо знакомы с Rails. У большинства признанных разработчиков Rails уже есть любимый рабочий процесс. Если вы новичок или нуждаетесь в повышении ежедневной производительности Rails, продолжайте читать!

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

Краткий совет по установке Ruby и Rails для компьютеров с OS X и Windows: попробуйте railsinstaller . Это поможет вам начать работу за несколько минут без суеты.

Драгоценные камни, которые вы должны установить

Вот пять скриптов / гемов, которые вы должны установить перед началом работы с Rails. У тебя нет выбора, прости! 🙂

1. скрипт oh_my_zsh
2. сценарий ноутбука
3. драгоценный камень awesome_print
4. Зевс драгоценный камень
5. Страж

1. oh_my_zsh

Перед установкой oh_my_zsh вы должны уже установить zsh . oh_my_zsh отличается темами, которые круты и просты в настройке, плагинами и помощниками автозаполнения, которые сэкономят вам массу времени. Вы также заметите, что oh-my-zsh просит вас периодически устанавливать обновления, и это хорошо.

Установка

Как я уже говорил, у вас должна быть уже установлена ​​оболочка zsh. Затем выполните эту команду, чтобы сделать ее оболочкой по умолчанию: chsh -s /bin/zsh

И запустите эту строку, чтобы скачать ее, установите ее:

 curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh 

С помощью

Чтобы изменить тему, откройте ~/.zshrc в текстовом редакторе и установите значение ZSH_THEME для имени темы. Вот список всех доступных тем . Вы должны протестировать несколько дисков и найти тот, который работает. Кроме того, если вы делаете презентации, вы можете найти ту, которая хорошо выглядит на проекторе (подсказка: белый на черном — это плохо…)

Чтобы добавить / удалить плагины, откройте файл ~/.zshrc и добавьте / удалите имя плагина из массива plugins . Вот список всех доступных плагинов . Вы найдете полный источник oh-my-zsh на вашем компьютере в ~/.oh-my-zsh .

2. ноутбук

Этот скрипт предназначен только для компьютеров с OS X. Цитирую со страницы ноутбука github:

Laptop — это скрипт для настройки ноутбука Mac OS X для разработки на Rails.

Чтобы установить этот скрипт, вы должны установить gcc, установить zsh в качестве оболочки по умолчанию (мы уже сделали это) и затем запустить следующую строку:

 zsh <(curl -s https://raw.github.com/thoughtbot/laptop/master/mac) 

Эта ссылка перечисляет все вещи, которые будут установлены. Мы выделим пару из них:
Heroku Toolbelt, который нам нужен для работы с приложениями на Heroku
Доморощенный любимый пакетный менеджер. Вы можете просматривать пакеты онлайн через http://braumeister.org/
RVM, который уже будет установлен, если вы использовали railsinstaller

3. awesome_print

Первая мысль, которая может прийти к вам, когда вы впервые запустите какой-либо код в консоли rails, — «Как кто-то может прочитать это ?!». Вы правы, это действительно сложно, особенно если результат сложный или вы извлек большое количество объектов. А вот и awesome_print, чтобы спасти день.

Установка

Чтобы установить awesome_print, запустите эту команду:

 gem install awesome_print 

Чтобы использовать его с рельсами, вам нужно добавить его в свой Gemfile и bundle

 group :development do gem 'awesome_print' end 

С помощью

Если вы хотите, чтобы awesome_print запускался по умолчанию в irb или в консоли, добавьте две строки в ваш .irbrc показанный здесь . В противном случае вы можете добавить строку в консоли с помощью

 require "awesome_print" ap object, options = {} 

пример

Это пример вывода awesome_print :

 # { :id => 1, :user_id => 5, :assigned_to => 7, :name => "Hayes-DuBuque", :access => "Public", :website => "http://www.hayesdubuque.com", :toll_free_phone => "1-800-932-6571", :phone => "(111)549-5002", :fax => "(349)415-2266", :deleted_at => nil, :created_at => Sat, 06 Mar 2010 09:46:10 UTC +00:00, :updated_at => Sat, 06 Mar 2010 16:33:10 UTC +00:00, :email => "[email protected]", :background_info => nil } 

4. Зевс

Пока вы работаете над проектом Rails, вам нужно будет перезапустить ваш сервер, запустить различные команды, такие как console , rake , generate , rspec и test . Это может занять некоторое время, особенно когда ваш проект растет, а количество классов и тестов увеличивается. Вот почему вам нужен Zeus , который предварительно загружает ваше Rails-приложение, чтобы все ваши задачи выполнялись намного быстрее.

Установка

Чтобы установить zeus, запустите эту команду, или вы можете добавить ее в свой Gemfile и bundle

 gem install zeus 

С помощью

Все, что вам нужно сделать, это перейти к вашему проекту Rails и запустить zeus start

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

 zeus s # to start rails server zeus c # to start rails console zeus test # to run tests zeus generate model # go generate modle 

5. Guard-LiveRload

Guard — это инструмент, который легко обрабатывает события, связанные с изменениями файловой системы. guard-livereload — один из длинного списка драгоценных камней, который зависит от Guard , но настроен для определенного типа файловой структуры и приложения. Например, guard-rspec отслеживает файлы rspec и запускает rspec для запуска спецификаций при их изменении.

guard-livereload выполняет аналогичную работу, перезагружая представление Rails по мере его изменения. Это все равно, что менять их в своем браузере. Инструменты разработчика, так что вы увидите, как меняется ваш взгляд на ходу.

устанавливать

Сначала вам нужно будет установить guard gem и guard-livereload
gem install guard gem install guard-livereload

или вы можете добавить их в свой гем-файл:

 group :development do gem 'guard' gem 'guard-livereload' end 

и затем запустите это, что создаст Guardfile который будет содержать конфигурацию для guard:

 bundle guard init guard init livereload 

Последняя часть установки guard — добавить пару драгоценных камней в ваш Gemfile. Это для эффективной обработки файловой системы , и вам может понадобиться добавить один из них в зависимости от вашей ОС.

 group :development do gem 'rb-inotify', :require => false # for OS X gem 'rb-fsevent', :require => false # for Linux gem 'rb-fchange', :require => false # for Windows end 

Для guard-livereload вам нужно установить гем rack-livereload, чтобы увидеть ваши изменения вживую в браузере:
gem install rack-livereload

и добавьте эту строку в config/environments/development.rb

 MyApp::Application.configure do config.middleware.insert_after(ActionDispatch::Static, Rack::LiveReload) end 

Отладка

1. лучше — ошибки
2. rails_panel gem
3. секстант драгоценный камень
4. Спокойный камень

1. better_errors

better_errors заменяет стандартную страницу ошибок Rails НАМНОГО лучше. Он даже добавляет потрясающую функцию живого REPL в браузере! Он относительно новый, но разработчики так быстро его поднимают, потому что разница между страницей ошибок по умолчанию и better_errors огромна.

устанавливать

Добавьте драгоценный камень в свой Gemfile. Если вы хотите использовать живой REPL, вам нужно также добавить гем binding_of_caller и затем bundle

 group :development do gem "better_errors" gem "binding_of_caller" end 

С помощью

Каждый раз, когда ваше Rails-приложение выдает ошибку, вы увидите лучшую страницу с ошибкой. На этой странице вы найдете полную трассировку стека и все локальные и глобальные переменные, связанные с запросом. Если у вас есть асинхронные запросы, вы можете отследить последнюю ошибку по navatint до «0.0.0.0:3000/__better_errors». Вы даже можете настроить гем для открытия источника в вашем редакторе с помощью метода BetterErrors.editor .

2. rails_panel

Этот драгоценный камень требует определенного расширения Google Chrome. Драгоценный камень — meta_request а расширение Chrome — rails_panel .

RailsPanel — это расширение Chrome для разработки на Rails, которое положит конец вашему развитию. Получите всю информацию о ваших запросах приложения Rails в браузере — на панели инструментов разработчика. Обеспечивает понимание дБ / рендеринга / общего времени, списка параметров, визуализированных представлений и многого другого.

устанавливать

Добавьте драгоценный камень в свой Gemfile и связывайте. Кроме того, вот расширение Google Chrome

 group :development do gem 'meta_request', '0.2.1' end 

3. секстант

Этот драгоценный камень был объединен в рельсы 4.0 под 0.0.0.0:3000/rails/info/routes . Однако, если вы разрабатываете приложение rails 3.2+, вам придется установить гем.

устанавливать

Добавьте драгоценный камень в свой Gemfile и связывайте

 group :development do gem 'sextant' end 

С помощью

Перейдите на 0.0.0.0:3000/rails/routes и вы увидите вывод командных rake routes в вашем браузере.

4. quiet_assets

Отслеживание журналов сервера является немного трудным, когда он регистрирует все запросы активов. Большую часть времени вы не заботитесь об этих запросах, поэтому этот драгоценный камень скрывает журналы активов. Это значительно обезжиривает журналы и позволяет вам сосредоточиться на важных запросах.

устанавливать

Добавьте драгоценный камень в свой Gemfile и связывайте

 group :development do gem 'quiet_assets' end 

Front-end и JavaScript MVC Frameworks

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

1. щебетать в твиттере
2. магистральные рельсы

1. twitter_bootstrap

Это не официальная жемчужина от создателей начальной загрузки Twitter, но она популярна и прекрасно работает.

Bootstrap — это инструментарий от Twitter, предназначенный для начала разработки веб-приложений и сайтов. Он включает базовые CSS и HTML для типографики, форм, кнопок, таблиц, сеток, навигации и многого другого.

устанавливать

Добавьте драгоценные камни в свой Gemfile и связывайте

 group :development do gem "twitter-bootstrap-rails" end 

Чтобы установить загрузчик к вашему проекту, запустите
rails generate bootstrap:install static

С помощью

Чтобы добавить макет начальной загрузки:
rails g bootstrap:layout application fixed

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

 rails g scaffold Post title:string description:text rake db:migrate rails g bootstrap:themed Posts 

2. магистральные рельсы

Этот гем поможет вам настроить backbone.js в ваших проектах Rails. Он создает файловую структуру backbone.js и обслуживает библиотеки через конвейер ресурсов.

Backbone.js дает структуру веб-приложениям, предоставляя модели с привязкой значения ключа и настраиваемыми событиями, коллекции с богатым API перечислимых функций, представления с декларативной обработкой событий и соединяет все это с существующим API через интерфейс RESTful JSON.

устанавливать

Добавьте драгоценные камни в свой Gemfile и связывайте

 group :development do gem "rails-backbone" end 

Затем запустите загрузчик:
rails g backbone:install

С помощью

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

Генератор моделей

rails g backbone:model

Генераторы маршрутизаторов

rails g backbone:router

Генератор строительных лесов

rails g backbone:scaffold

Аутентификация и администрирование

Большинству ваших приложений потребуется аутентификация, а некоторым — администрирование. Мы все знаем, насколько важны и чувствительны эти задачи, поэтому лучше использовать проверенные гемы для их решения.

1. разработать драгоценный камень
2. камень active_admin
3. Rails Composer

1. разработать

devise — очень популярная жемчужина в сообществе Rails, и она действительно не нуждается в представлении.

устанавливать

Добавьте драгоценный камень в свой Gemfile и связывайте

 group :development do gem "devise" end 

Чтобы установить devise в вашем проекте Rails:
rails generate devise:install

С помощью

Выполните следующую команду с соответствующим именем модели, чтобы сгенерировать модель устройства. Эта модель будет иметь все функции аутентификации, которые предоставляет разработчик.
rails generate devise MODEL
Вы должны добавить эту строку внутри любого контроллера, к которому вы хотите получить доступ только аутентифицированным пользователям, или добавить его в ApplicationContrller чтобы требовать аутентификацию во всем приложении:
before_filter :authenticate_user!

3. active_admin

active_admin — одна из лучших жемчужин администрирования с очень хорошим интерфейсом и документацией . вот демонстрационный сайт с использованием active_admin

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

устанавливать

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

 gem "activeadmin" gem 'sass-rails' gem 'meta_search', '>= 1.1.0.pre' 

Чтобы установить activeadmin в вашем проекте Rails:

 rails generate active_admin:install rake db:migrate 

Полные документы по установке можно найти здесь .

С помощью

Перейдите к 0.0.0.0:3000/admin и войдите, используя

User: [email protected] Password: password

Чтобы зарегистрировать модель, запустите:
rails generate active_admin:resource [MyModelName]

Рельсы-составитель

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

Чтобы создать проект с помощью Rails Composer, выполните команду rails new как обычно с именем вашего проекта и передайте параметр -m следующим образом

 rails new myapp -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb 

Вы столкнетесь с двадцатью вопросами, охватывающими почти все аспекты, о которых вы могли подумать, когда начинаете новый проект rails. Все, от структуры приложения, веб-сервера, шаблонизатора, тестирования, интерфейсных сред, аутентификации и даже репозитория github. Вы можете найти полный список вариантов здесь .

Завершение

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