SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Где искать информацию?
    ●    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




              

Weitere ähnliche Inhalte

Andere mochten auch (20)

Gure autobiografiak
Gure autobiografiakGure autobiografiak
Gure autobiografiak
 
Uxue eta noa
Uxue eta noaUxue eta noa
Uxue eta noa
 
Amaia Apalategi
Amaia ApalategiAmaia Apalategi
Amaia Apalategi
 
DOTORETASUNAREN GARAIA
DOTORETASUNAREN GARAIADOTORETASUNAREN GARAIA
DOTORETASUNAREN GARAIA
 
Los oficios de la Época Medieval
Los oficios de la Época MedievalLos oficios de la Época Medieval
Los oficios de la Época Medieval
 
ARO DESBARDINAK
ARO DESBARDINAKARO DESBARDINAK
ARO DESBARDINAK
 
Erroma burdinibarra
Erroma burdinibarraErroma burdinibarra
Erroma burdinibarra
 
5.LH.12.GAIA. ERDI AROA. LANAREN ANTOLAKETA
5.LH.12.GAIA. ERDI AROA. LANAREN ANTOLAKETA5.LH.12.GAIA. ERDI AROA. LANAREN ANTOLAKETA
5.LH.12.GAIA. ERDI AROA. LANAREN ANTOLAKETA
 
Estatu modernoaren sorrera blog1
Estatu modernoaren sorrera blog1Estatu modernoaren sorrera blog1
Estatu modernoaren sorrera blog1
 
Gaur egun
Gaur egunGaur egun
Gaur egun
 
2012 13.IKT SAIOAK. BIDEOAK GRABATU, EDITATU, PUBLIKATU.
2012 13.IKT SAIOAK. BIDEOAK GRABATU, EDITATU, PUBLIKATU.2012 13.IKT SAIOAK. BIDEOAK GRABATU, EDITATU, PUBLIKATU.
2012 13.IKT SAIOAK. BIDEOAK GRABATU, EDITATU, PUBLIKATU.
 
Erromatar inperioa
Erromatar inperioaErromatar inperioa
Erromatar inperioa
 
Erdi Aroko Herria
Erdi Aroko HerriaErdi Aroko Herria
Erdi Aroko Herria
 
2015 16 irakur gida uda -
2015 16 irakur gida uda -2015 16 irakur gida uda -
2015 16 irakur gida uda -
 
Lanbideak
LanbideakLanbideak
Lanbideak
 
Igor eta maider
Igor eta maiderIgor eta maider
Igor eta maider
 
Erdi aroa
Erdi aroaErdi aroa
Erdi aroa
 
Euskal Herria Aintzinako Erregimenean
Euskal Herria Aintzinako ErregimeneanEuskal Herria Aintzinako Erregimenean
Euskal Herria Aintzinako Erregimenean
 
Erdi Aroa 5.A
Erdi Aroa 5.AErdi Aroa 5.A
Erdi Aroa 5.A
 
C:\Fakepath\1 M 17 Gaia Erromatarren Historia Rg
C:\Fakepath\1  M   17  Gaia   Erromatarren Historia   RgC:\Fakepath\1  M   17  Gaia   Erromatarren Historia   Rg
C:\Fakepath\1 M 17 Gaia Erromatarren Historia Rg
 

Ähnlich wie Ror - The Beginning

Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Ontico
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
Krivoy Rog IT Community
 
ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)
ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)
ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)
ZFConf Conference
 
Entity framework
Entity frameworkEntity framework
Entity framework
Scaiper
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Siel01
 
Lift, play, akka, rails part1
Lift, play, akka, rails part1Lift, play, akka, rails part1
Lift, play, akka, rails part1
Eduard Antsupov
 

Ähnlich wie Ror - The Beginning (20)

Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
 
Nosql and Mongodb
Nosql and MongodbNosql and Mongodb
Nosql and Mongodb
 
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
 
ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)
ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)
ZFConf 2011: Толстая модель: История разработки собственного ORM (Михаил Шамин)
 
Толстая модель. История разработки ORM
Толстая модель. История разработки ORMТолстая модель. История разработки ORM
Толстая модель. История разработки ORM
 
pgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresqlpgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresql
 
Разработка SPA на мультисайтовом highload-проекте
Разработка SPA на мультисайтовом highload-проектеРазработка SPA на мультисайтовом highload-проекте
Разработка SPA на мультисайтовом highload-проекте
 
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
 
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
 
SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013
 
Корпоративное приложение на Rails
Корпоративное приложение на RailsКорпоративное приложение на Rails
Корпоративное приложение на Rails
 
Batch processing on RoR
Batch processing on RoRBatch processing on RoR
Batch processing on RoR
 
Ice Php Framework Preview Release
Ice Php Framework Preview ReleaseIce Php Framework Preview Release
Ice Php Framework Preview Release
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
 
Git
GitGit
Git
 
Catalyst and Rose::DB
Catalyst and Rose::DBCatalyst and Rose::DB
Catalyst and Rose::DB
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
 
Lift, play, akka, rails part1
Lift, play, akka, rails part1Lift, play, akka, rails part1
Lift, play, akka, rails part1
 

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    
  • 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