Ruby on Rails 3

Как сделать вложенные комментарии в Ruby on Rails? Часть первая: Модели.

декабря 26, 2010  |  Published in Ruby on Rails, Ruby on Rails 3

ruby on rails polymorphic associationsНа YouTube вы могли заметить замечательную систему комментирования, где вы можете комментировать не только видео, но и отвечать на комментарии других людей, что по-сути является комментированием других комментариев.

Если вам нравится такая система комментирования, и вы хотите добавить что-то похожее в свое приложение, то вы могли бы создать две таблицы, например: PostComment и CommentComment или что-то подобное. Однако лучшим вариантом будет использование полиморфных ассоциаций. Полиморфизм позволяет комментариям принадлежать как посту, так и другим комментариям и еще чему угодно. «Полиморфные ассоциации» вероятно испугали вас, однако использовать их проще, чем вы могли предположить.

Внимание! В статье описывается то, как это делается в Ruby on Rails 3. Исходные коды вы можете скачать на . Read the rest of this entry »

Tags: ,

Маршрутизация внутри приложений на Ruby on Rails 3

ноября 22, 2010  |  Published in Ruby on Rails, Ruby on Rails 3

ruby on rails routingДанная статья написана в продолжение серии статей посвященным переходу на Ruby on Rails 3. Для тех же людей, которые только знакомятся с фреймворком Ruby on Rails, эта серия статей также может послужить не плохим руководством.

Другие статьи из этой серии:
Active Record запросы в Ruby on Rails 3

В Ruby on Rails 3 изменения коснулись не только ActiveRecord, но и маршрутизации. Для начала давайте определимся с терминологией: Маршрутизация или роутинг – это набор правил, которые определяют, к какому ресурсу получит доступ пользователь, перейдя по определенному адресу URL. Роут — одно правило маршрутизации (роутинга).

Read the rest of this entry »

Tags:

Active Record запросы в Ruby on Rails 3

сентября 9, 2010  |  Published in Ruby on Rails, Ruby on Rails 3

Ruby on Rails 3В Ruby on Rails 3 используется новый движок запросов к базе данных – , который вынесен в отдельный gem. Благодаря новому движку Active Record 3.0.0 стал более удобным и простым.
Давайте сравним то, какими были запросы в Ruby on Rails 2.3.x и какими стали в Ruby on Rails 3.

В нашем примере, приложение Rails будет содержать всего две модели: Article и Comment, которые имеют между собой взаимосвязь:

Article has_many :comments

В первом примере мы выбираем из базы данных десять последних записей в таблице Articles:

Article.find(:all, :order  =>  “publish_at desc”, :limit => 10)

Теперь давайте посмотрим, как выглядит запрос, выполняющий абсолютно ту же выборку в Ruby on Rails 3:

Article.order(“published_at desc”).limit(10)

Read the rest of this entry »

Tags: