Ruby on Rails 3: Основы работы с ActiveRecord моделью

февраля 10, 2012  |  Published in Ruby on Rails, Ruby on Rails 3, Базы данных

ruby on rails tutorialRubyDev — ваш друг в изучении Ruby и Rails!

Что такое модель?

Модель — это составляющая часть архитектурного паттерна MVC, которая хранит бизнес логику. В вашем приложении все модели должны храниться в директории app/models в отдельных файлах, имена которых должны соответствовать имени модели, например: Post -> post.rb, InvoiceProduct -> invoice_product.rb.

Как связаны модель и таблица?
В большинстве случаев модель ассоциируется с определенной таблицей в базе данных, например модель Post будет ассоциироваться с таблицей posts. Экземпляр модели являет собой объект представляющий одну запись из таблицы, а сама модель (класс) используется для работы со всей таблицей, например для поиска всех записей соответствующих некоторому условию.

Обратите внимание на то, как называется модель и как называется соответствующая ей таблица. Имя модели — всегда в едином числе, а имя таблицы во множественном.

Как создать модель?
Создать модель можно вручную, но лично я предпочитаю использовать генератор моделей:

$ rails g model Product name:string description:text price:integer
      invoke  active_record
      create    db/migrate/20120210115708_create_products.rb
      create    app/models/product.rb
      invoke    test_unit
      create      test/unit/product_test.rb
      create      test/fixtures/products.yml

Вызывая генератор я передаю в него в качестве аргументов имя модели и имена полей таблицы ассоциируемой с моделью вместе с типами данных этих полей (столбцов).

Генератор модели мне кажется более удобным потому, что одной командой я создаю сразу все необходимые для работы файлы: собственно модель, миграцию для создания соответствующей модели таблицы в БД, файл фикстур и болванку для написания тестов.
Read the rest of this entry »

Tags: , , , , , , ,

Ruby on Rails 2.3.9 — последняя ступень на пути к Rails 3.0

сентября 6, 2010  |  Published in Ruby on Rails, Новости

4 сентября, не задолго после релиза Ruby on Rails 3, вышла последняя версия из ветки 2.3.х — 2.3.9, о чем было сообщено в официальном блоге Ruby on Rails:

«Мы выпустили новый релиз Ruby on Rails 2.3.9, который приближает вас на несколько шагов ближе к Ruby on Rails 3 и Ruby 1.9. Если ваше приложение работает на  Ruby on Rails 2.3.9, без каких либо ошибок и предупреждений о том, что вы используете устаревшие методы, то вы хорошо подготовлены к переходу на Ruby on Rails 3.

Что следует поправить:

Изменен в i18n синтаксис интерполяции, вместо старого Hello {{name}} , следует использовать родную для Ruby 1.9 конструкцию: Hello %{name}.

Произошла замена Object#tap на Kernel#returning, который родной для Ruby 1.8.7.

Переименован метод Array#random_element на Array#sample, который родной для Ruby 1.9.

Переименованы config.load_paths и .load_once_paths на более точно описывающие суть: config.autoload_paths и .autoload_once_paths.

Теперь у вас есть перечень изменений, для переноса вашего приложения на Ruby on Rails 2.3.9. Читайте commit log, что бы узнать больше об истории изменений.


Вперед к Ruby on Rails 3.1!
»

Кстати! Поздравляю всех Рельсовиков с выходом  29 августа релиза Ruby on Rails 3, которого все с нетерпением ждали!

Tags:

Ruby Version Manager: приручаем gemset или Установка нескольких версий Rails

июля 12, 2010  |  Published in Ruby, Ruby Gems, Ruby on Rails

Как и обещал, еще одна статья об RVM.

rvm's gemset is gold!Одной из самых мощных и полезных вещей в RVM являются наборы gem’ов — gemsets. Gemset представляет собой отдельную директорию для gem’ов, таким образом, что не возникает конфликта между одноименными gem’ами в разных gemset’ах. Gemset’ы, или наборы gem’ов, предоставляют на удивление полезную возможность использовать сразу несколько версий одного и того же расширения Ruby, например использовать несколько версий Rails. Так же с их помощью вы можете проверить как хорошо работает ваше приложение при различных конфигурациях gem’ов.

В предыдущей статье мы уже обсуждали установку и использование RVM, таким образом, вы наверняка уже установили несколько версий Ruby. В этой статье мы поговорим о том, как установить несколько версий Rails и как их использовать под различными реализациями и версиями Ruby. Read the rest of this entry »

Tags: , , , ,

Устанавливаем Ruby 1.8.7 и Ruby on Rails

июня 26, 2010  |  Published in Ruby, Ruby Gems, Ruby on Rails, Основы

railsЯ решил описать установку Ruby, RubyGems и Ruby on Rails отдельной статьей. Знаю, немножко запоздало, ведь блог ориентирован главным образом на новичков и следовало бы начать со статьи описывающей инсталляцию, но…

Установка Ruby

Прежде, чем вы сможете создать свое первое приложение на Rails, вам необходимо установить на свой компьютер Ruby, RubyGems и собственно Rails.
Read the rest of this entry »

Tags: , ,

Начинаем знакомится с Ruby on Rails

июня 26, 2010  |  Published in Ruby on Rails

ruby on rails

Данная статья является частью Учебника Rails и вместе с тем первой частью перевода первой статьи из оффициальной документации (гайда  Rails) по Rails3 с сайта RailsGuides — статьи Getting Started withRails.

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

Ruby on Rails — поистине один из самых мощных фреймворков для разработки веб приложений. Факт превосходства над любым другим фреймворком в плане скорости разработки не оспорим, с этим соглашаются даже заядлые враги Рубистов — Пайтониты =)

Ценой такого могущества и упрощения/ускорения разработки является производительность. Дело в том, что сайты, созданные на Rails уступают в скорости работы сайтам на других менее развитых Ruby-фреймворках, не говоря уже о Python и PHP — фреймворках. Что ж, язык Ruby сам по себе ориентирован не на высокую производительность в плане скорости работы, а на высокую производительность в плане написания кода. Read the rest of this entry »

Tags: ,