Главная » 2008 » Ноябрь » 17 » Поставил-с Rails
Поставил-с Rails
15:45
Не представляете сижу - счастливый человек - дома, делаю топовик по матанализу и тут некто сверху подходит и говорит: "Пойдем, у тебя будет интернет". Решил не отказываться и воспользовавшись случаем закачал себе толстенький InstantRails. Собственно об этом и будет этот пост smile

Вооще был вариант ставить апач, потом базу, потом еще хз чего, но я что-то обленился, тем более мне Ruby on Rails(ROR) нужен в основном для тестов/изучения, так что особо не парясь я решил скачать уже готовый полноценный пакет. Не буду описывать что я делал с этим архивом дальше xD перейдем к более существенному.

Вооружившись книжкой ( а точнее её .pdf-вариантом ) "Гибкая разработка приложений в среде Rails"(эта штука называется вроде так), я началреализовывать советы и указания из книжки на практике.

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

И почти сразу я понял как быстро становится неактуальной информация. Пакет InstantRails я качал последней версии. По умолчанию шаблоны имели расширение не *.rhtml как это говорилось в книжке, а нечто вида *.html.erb. Меня это удивило, но *.rhtml тоже работает. Далее я создал новый проект(немного освоился с консолькой, создал парочку контроллеров(про них я вкратце упонялу в первом посте про RoR) ) и радовался жизни. Что ж, в книге изучение RoR происходило на примере создания интернет-магазина. Ну, естественно я тоже решил что-то почерпнуть оттуда.

Создал конфиг моей базы данных, все параметры подключения ввел в <Каталог проекта>/config/database.yml .
У меня это было нечто вида:

Code

development:
  adapter: mysql
  database: depot_development
  username: root
  password:
  host: localhost

Прям как в книжке. Что ж база у меня появилась, теперь нужно было создать модель.
Для этого выполним следующее:

1. Командой "cd" перейдем в корень нашего проекта(можно почитать хэлп команды набрав cd /? )
2. Прописать следующий код:

Code

ruby script/generate model product

Здесь product - имя нашей модели. Нашу модель можно будет найти по адресу <Каталог проекта>/app/models/product.rb

Что ж, модель у нас есть, теперь, следуя примеру в книжке, я решил заняться базой. Для этого в RoR предусмотрен механизм миграций.
Пропишем в той же консоли:

Code

ruby script/generate migration create_products

Здесь create_products - название нашей миграции. Появится штучка в <Каталог проекта>/db/migrate/001_create_products.rb
Это файл нашей миграции. Далее в книге был совет написания определенного вида кода, но чуть покопавшись в уже существующих проектах понял что это не единственный вариант.
В общем мой файл миграции выглядит так:

Code

class CreateProducts < ActiveRecord::Migration
  def self.up
  create_table :products do |t|
  t.column :title, :string
  t.column :description, :text
  t.column :image_url, :string
  end
  end

  def self.down
  drop_table :products
  end
end

Лично для меня до сих пор остается загадкой что в точности значит do |t|, есть подохрения, что это переменная таблицы, с которой будем работать.

t.column - это метод объекта t. Лично меня до сих пор пугает отсутствие скобок при обозначении параметров ф-ии/метода(последствия C++ и PHP).

У нас есть миграции smile Есть модель, есть контроллеры:

Code

ruby script/generate controller_name

Хотел написать еще много чего, но к сожалению, пост и так довольно толстый.

В заключение хочу заметить, что RoR - очень динамично развивающийся язык, свидетельств тому масса. Ладно, пойду продолжу читать книгу и ждать появления интернета.

Просмотров: 964 | Добавил: DeT | Теги: ruby, rails, web
Всего комментариев: 81 2 »
02.06.2009
PoupssuddyMox говорит:
Класс!!! Круто!!!

16.12.2008
DeT говорит:
Эх, после сессии надо опять рельсами заняться, интересно, а тайма пока нету sad

16.12.2008
Amber говорит:
по поводу переменной ты абсолютно прав, в таких прямых скобочках в блоках вводится переменная. Можешь для справки и для интереса посмотреть курс Руби на тему итераторов, там та же фишка.

21.11.2008
mig29_vmvp говорит:
Тема конечно для довольно узкого круга, но думаю для кого нибудь будет полезно...

20.11.2008
DeT говорит:
А черт sad
А несчитая косяков с орфографией - интересно ?:)

1-5 6-8
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]