Статьи

Изучение бета-версии Rails 3, часть II: Маршрутизация

На прошлой неделе я познакомил вас с одной из функций, которая была добавлена ​​в последней версии платформы Ruby on Rails: менеджером гемов Bundler. На этой неделе я хочу углубиться немного глубже и показать вам еще кое-что интересное.

Однако прежде чем сделать это, я должен отметить, что после написания первой части была выпущена вторая бета-версия Rails 3 . Это дает мне прекрасную возможность показать еще одно преимущество использования Bundler. Допустим, вы были взволнованы моим постом на прошлой неделе и решили взять бета-версию и начать создавать новое приложение. Теперь вы хотите обновить это приложение, чтобы использовать новую и улучшенную бета-версию 2. Простая. Вам просто нужно изменить строку:

gem "rails", "3.0.0.beta"

Вместо этого читать:

 gem "rails", "3.0.0.beta2"

Rails logo Запустите bundle install После того, как это сделано, пришло время углубиться в еще одно важное изменение в Rails 3.

Маршрутизация

Маршруты всегда были одной из сильных сторон Rails. Для непосвященных маршруты (которые находятся в файле routes.rb Итак, написав, например:

 map.connect 'posts/:id', :controller => 'posts', :action => 'view'

Вы подключили URL-адрес, например posts/3viewpostsid Конечно, в приведенном выше коде используется старый и отключенный синтаксис Rails 2. В Rails 3 вы можете написать:

 match 'posts/:id', :to => 'posts#view'

Новый синтаксис не только намного короче, я думаю, вы также найдете его более читабельным. Вы можете сказать это по-английски: «сопоставить этот URL с этим действием». Как видите, вам больше не нужно указывать имя контроллера и имя действия в качестве отдельных параметров; Вы можете просто написать "controller#action" Очень круто.

Каждый аспект маршрутизации Rails был пересмотрен в Rails 3: маршрутизация корня вашего приложения, обработка перенаправлений, наложение ограничений на параметры, создание именованных маршрутов — вы называете это. Изменения не просто косметические: есть много функций, которые были просто невозможны со старым модулем маршрутизации. Для полного ознакомления со всем, что нового, вы должны проверить обширную запись в блоге Ризвана Резы на эту тему в блоге Engine Yard.

На следующей неделе я возьму новый API-интерфейс запросов ActiveRecord. А пока возьмите с собой копию бета-версии и поиграйте. Вы будете быстро подключены к Rails.