Где искать информацию?
    ●    Google
    ●    http://ruby.railstutorial.org
    ●    http://guides.rubyonrails.org
    ●    http://apidock.com
    ●    http://api.rubyonrails.org
    ●    подергать соседа ;)



                                   
RoR - Начало
    ●   Введение в принципы MVC
    ●   Проектирование (Модели)
    ●   Конфигурирование (БД)
    ●   Создание первой модели 
    ●   Миграции
    ●   Контроллер
    ●   Отображение
    ●   Связи между моделями
                              
MVC


          ●   Представление (V) и 
              поведение (C) зависят 
              от модели (M). 
          ●   Модель не зависит ни 
              от представления, ни 
              от поведения.



       
Проектирование (Модели)
                   ●   Определение таблиц, которые 
                       должна содержать база 
                       данных.
                   ●   Определение необходимых в 
                       таблице полей.
                   ●   Задание первичного ключа 
                       для каждой таблицы.
                   ●   Определение связей между 
                       таблицами.
                   ●   Обновление структуры базы 
                       данных.
                   ●   Добавление данных и 
                       создание других объектов 
                
                       базы данных.
Конфигурирование БД

    ●   Sqlite (http://www.sqlite.org)
    ●   MySQL (http://www.mysql.com)
    ●   Postgre (http://www.postgresql.org)
    ●   MongoDB (http://www.mongodb.org)
    ●   др.



                                 
config/database.yml

        Sqlite
    ●     adapter: sqlite3
    ●     database: db/database_name.sqlite3

        Mysql
    ●     adapter: mysql
    ●     encoding: utf8
    ●     database: database_name
    ●     username: root  
    ●     password: root
                              
ORM → ActiveRecord




             
Создание первой модели

        Генераторы
    ●   rails generate model
    ●   rails generate migration
    ●   rails generate scaffold
        Rake таски
    ●   rake db:migrate
    ●   rake db:rollback
    ●   rake db:migrate VERSION=version
    ●   rake db:seed
                                    
Миграции

     Миграции  –  это  классы  наследованные  от 
     ActiveRecord::Migration.  Миграции  нужны  для 
     изменения структуры таблиц БД.




                          
Работа с таблицами
    ●   Операции с таблицами
          create_table, drop_table, change_table

    ●   Операции с колонками:
          add_column, change_column,  change_column_default, 
          rename_column,  remove_column,  add_index,  
          remove_index

    ●   Типы полей:
          :primary_key, :string, :text, :integer, :float, :decimal, 
          :datetime, :timestamp, :time, :date, :binary, :boolean
                                       
Rake таски
    ●   rake db:migrate
    ●   rake db:migrate:rollback
    ●   rake db:migrate:redo
    ●   rake db:migrate:rollback STEP=3
    ●   rake db:migrate:redo STEP=3
    ●   rake db:migrate:up VERSION=xxxxxxxxxxxxx
    ●   rake db:migrate:down VERSION=xxxxxxxxxxxx

                                
Создание seeds

Файл db/seeds.rb

10.times do |i|
  Product.create( :name => 'red ball #{i}', 
                    :price => i ** 2)
end

Накатываем с использованием таска rake db:seed



                             
Основы работы с моделями
    ●   where      ●   last
    ●   select     ●   first
    ●   group      ●   find
    ●   order      ●   exists?
    ●   limit      ●   count
    ●   offset     ●   average
    ●   joins      ●   minimum
    ●   includes   ●   maximum
    ●   lock       ●   sum
    ●   readonly
    ●   from
    ●   having
                           
Связи между моделями

    ●   belongs_to
    ●   has_one
    ●   has_many
    ●   has_many :through
    ●   has_one :through
    ●   has_and_belongs_to_many



                             
Belongs_to




              
Has_one




           
Has_many




            
Has_many :through




             
Has_one :through




              
Has_and_belongs_to_many




             
Polymorphic association




              

Ror - The Beginning

  • 1.
    Где искать информацию? ●  Google ●  http://ruby.railstutorial.org ●  http://guides.rubyonrails.org ●  http://apidock.com ●  http://api.rubyonrails.org ●  подергать соседа ;)    
  • 2.
    RoR - Начало ● Введение в принципы MVC ● Проектирование (Модели) ● Конфигурирование (БД) ● Создание первой модели  ● Миграции ● Контроллер ● Отображение ● Связи между моделями    
  • 3.
    MVC ● Представление (V) и  поведение (C) зависят  от модели (M).  ● Модель не зависит ни  от представления, ни  от поведения.    
  • 4.
    Проектирование (Модели) ● Определение таблиц, которые  должна содержать база  данных. ● Определение необходимых в  таблице полей. ● Задание первичного ключа  для каждой таблицы. ● Определение связей между  таблицами. ● Обновление структуры базы  данных. ● Добавление данных и  создание других объектов      базы данных.
  • 5.
    Конфигурирование БД ● Sqlite (http://www.sqlite.org) ● MySQL (http://www.mysql.com) ● Postgre (http://www.postgresql.org) ● MongoDB (http://www.mongodb.org) ● др.    
  • 6.
    config/database.yml Sqlite ●   adapter: sqlite3 ●   database: db/database_name.sqlite3 Mysql ●   adapter: mysql ●   encoding: utf8 ●   database: database_name ●   username: root   ●   password: root    
  • 7.
  • 8.
    Создание первой модели Генераторы ● rails generate model ● rails generate migration ● rails generate scaffold Rake таски ● rake db:migrate ● rake db:rollback ● rake db:migrate VERSION=version ● rake db:seed    
  • 9.
    Миграции Миграции  –  это  классы  наследованные  от  ActiveRecord::Migration.  Миграции  нужны  для  изменения структуры таблиц БД.    
  • 10.
    Работа с таблицами ● Операции с таблицами create_table, drop_table, change_table ● Операции с колонками: add_column, change_column,  change_column_default,  rename_column,  remove_column,  add_index,   remove_index ● Типы полей: :primary_key, :string, :text, :integer, :float, :decimal,  :datetime, :timestamp, :time, :date, :binary, :boolean    
  • 11.
    Rake таски ● rake db:migrate ● rake db:migrate:rollback ● rake db:migrate:redo ● rake db:migrate:rollback STEP=3 ● rake db:migrate:redo STEP=3 ● rake db:migrate:up VERSION=xxxxxxxxxxxxx ● rake db:migrate:down VERSION=xxxxxxxxxxxx    
  • 12.
    Создание seeds Файл db/seeds.rb 10.times do |i| Product.create( :name => 'red ball #{i}',      :price => i ** 2) end Накатываем с использованием таска rake db:seed    
  • 13.
    Основы работы смоделями ● where ● last ● select ● first ● group ● find ● order ● exists? ● limit ● count ● offset ● average ● joins ● minimum ● includes ● maximum ● lock ● sum ● readonly ● from ● having    
  • 14.
    Связи между моделями ● belongs_to ● has_one ● has_many ● has_many :through ● has_one :through ● has_and_belongs_to_many    
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.