10 полезных советов для Ruby On Rails разработчиков

Грег Borenstein и Майкла MJFreshyFresh “Jones

Rails представляет собой модель-представление-контроллер веб-фреймворк написанный на языке программирования Ruby.Одна из его больших апелляции является возможность быстро провернуть CRUD веб-приложений.Большим преимуществом по сравнению с другими Rails рамки в том, что он ценит соглашение по configuration.Если вы будете следовать правильной конвенций, вы можете избежать длительных конфигурации файлов, и вещи просто работать!Таким образом, вы тратите меньше времени на написание скучно конфигурационные файлы и больше времени, сосредотачиваясь на бизнесе logic.

Ruby on Rails logo

Сейчас, Мы любим Rails.Но не поймите нас неправильно.Как и любой инструмент, это не идеальное решение для любой проблемы.Многие из главных жалоб людей о рамках пришел от его использования в ситуациях, когда что-то попроще, меньшие и более легкие будет делать только штрафом.Мы любим Sinatra ни за что с минимальными серверных участия. Merb является еще одним прекрасным минимальными рамками.И ничто не сравнится приложений, которые работают полностью в браузере JavaScript: они могут быть развернуты практически бесплатно, можно масштабировать почти бесконечно и никогда не должны быть restarted.

В обзоре ниже мы приводим 10 полезных советов, идей и ресурсов для Рубин на Rails-developers (как новичкам, так и профессионалам).Пожалуйста, не стесняйтесь поделиться своими советами, идеями и предложениями в комментариях к этому сообщению

1.Plug-Ins Сохранить Time

Rails имеет строго определенную плагин структуру, которая позволяет легко устанавливать и использовать плагины в вашем приложении.Дэвид Heinemeier Ханссон, отец Rails, однажды сказал, что он использует 5:55 плагинов в каждом Rails application.

Там старая самородок разработчик мудрость, что часть того, что делает нас такими __ 16 “лучших код не является кодом на всех”. | Продуктивно развивается в Rails является то, что весь код, который мы don’t должнынаписать потому, что кто-то в общине уже написал плагин, который обеспечивает функциональность мы need.

Есть несколько способов установки плагина в Rails, однако наиболее распространенным является использование сценария:

# Install from a git repo
script/plugin install git://github.com/mislav/will_paginate.git

# Install from a url
script/plugin install http://topfunky.net/svn/plugins/calendar_helper

Вы можете сэкономить массу времени и хлопот, став хорошо на поиск в Интернете (а особенно всемогущий GitHub).Пару мест, чтобы найти плагины Основные Rails Railsify __ и 46 | Rails плагин Directory.Нужноинтеграция с существующими API или потреблять какие-то стандартные формат данных?Нужно tagging pagination или другой общей чертой веб-приложение?Есть шансы, что некоторые большие Rails или Ruby, разработчик там уже есть проект собирается, которая поможет вам по крайней мере, большую часть пути there.

2.Тестирование легко и весело с Rspec

Для большинства людей слово «тест» возвращает страшные воспоминания о школьных экзаменов.При работе с Rails, однако, автоматизированных testing может сделать ваш опыт разработки гораздо более приятным.В то время как многие люди имеют сильные, почти религиозный, мнения о них, по сути своей, автоматизированные тесты просто маленькие вспомогательные программы вы пишете, что биты выполнения вашей основной код, чтобы убедиться, что они делают правильные вещи.Если все сделано правильно, тестирование будет улучшить свой рабочий процесс и повысить вашу уверенность в results.

Rails поставляется с тест рамки запеченный прямо, но за последние пару лет все спокойные дети уже используют альтернативные называется Rspec.Самое большое преимущество Rspec является его синтаксис для определения тестов:

describe "My Cool library" do
  before do
    @cool = Cool.new
  end

  it "should be full of penguins." do
    @cool.get_penguins!
    @cool.penguin_count.should == 10
  end

  it "should melt if it gets too warm"
end

Что большое о синтаксисе Rspec является то, как по-английски это uses.Описывает блок, который задает контекст и каждого утверждения в нем принимает строки, которые вы используете, чтобы объяснить, что код должен делать.Часто, это самый важный этап: вы садитесь писать утверждение, получение, насколько вы можете, и тогда вы думаете: “Хорошо, что должно Этот код на самом деле делать?”

Потому что Rspec позволяет бросить блок, который реализует утверждение (как во втором примере расплава), вы можете быстро мозгового штурма все ваши функциональные возможности, а затем вернуться и реализовать тесты позже, как вы пишете код.В то же время, Rspec будет рассматривать эти тесты, как “до” и дать вам немного напоминаний о них в тестовом runs.

Помимо помощи при написании кода, в первую очередь, еще одна интересная вещь о тестах является то, что, как только вы их достаточно, они позволяют вам видеть, как весь код связаны, что делает его легко узнать, если ваши недавние изменения что-то сломалосьеще в вашем приложении. Rspec позволяет легко получить хороший тест coverage за счет использования пользовательских генераторов, которые создают тесты прямо вместе с остальной код:

$ script/generate rpsec_scaffold MyModel

Как только вы получили тесты, чтобы убедиться, что основная функциональность работает успешно, вы можете внести изменения и добавить новый код с уверенностью, не беспокоясь о введении невидимые ошибки.Пока вы запускаете тесты регулярно, вы будете знать, как только что-то сломается.И как GI Joe учил нас, зная, что это полдела

3.Экономия времени, используйте Rake

Проекты часто включают в себя больше, чем просто применение специального кода.Пример данных должны быть созданы, Web-сервисы должны быть запрошены, файлы должны быть перемещены, кодпоместив его переписать, и т.д. Не поддавайтесь желанию скрипт или втиснуть в миграции или контроллера.Используйте Rake.Он пород

Rake

Rake является инструментом построения написана на Ruby, очень похожий на make.Rails проекты имеют несколько задач Rake уже определены, чтобы увидеть эти, запустить грабли-T command.

macbook$ rake -T

rake data:bootstrap		# load in some basic data [caution: will nuke and replcace cate...
rake db:create:all		# Create all the local databases defined in config/database.yml
rake db:drop			# Drops the database for the current RAILS_ENV
...
rake ts:run				# Stop if running, then start a Sphinx searchd daemon using Thi...
rake ts:start			# Start a Sphinx searchd daemon using Thinking Sphinx's settings
rake ts:stop			# Stop Sphinx using Thinking Sphinx's settings

Добавление ваших собственных задач Rake довольно легко.В приведенном ниже примере вы видите, что задача имя расположенные и имеет описание и имя задачи, что позволяет писать в Ruby.

namespace :data do
  desc "load in some basic data [caution: will nuke and replcace categories, categorizations and inventory items]"
  task :bootstrap => :environment do
    # clean out existing:
    [Category, Categorization, InventoryItem].each{|m| m.find(:all).each{|i| i.destroy}}
    InventoryItem.create! :name => "Compass"
    c = Category.create! :name => "Basic Apparel"

    ["Men’s Heavyweight Cotton T",
    "Men’s Heavyweight Polo",
    "Women’s Organic Cotton Fitted T",
    "Women’s Fitted Polo",
    "Children’s T-Shirt",
    "Jr’s Distressed Hoodie",
    "Hemp Messenger Bag"].each do |name|
      c.inventory_items.create! :name => name
    end

   ...

end

4.Направляющая Exceptions

Исключения случаются, и когда они делают, вы хотите знать о них!Ваш клиент не должен быть тот, говорю вам, что возникла проблема, вы уже должны быть осведомлены о проблеме и работают над ее решением.Исключение уведомления была доступна в Rails на некоторое время.Есть исключением уведомления плагин ins, которые позволяют легко получить уведомление.Тем не менее, некоторые услуги, такие как Hop Toad
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.