Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

15

Click here to load reader

Transcript of Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Page 1: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Ruby on Rails setup

Page 2: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Установка и настройка

1. Обновление системы (sudo apt-get…)2. Установка RVM (Ruby version

manager)3. Установка ruby (2.1.2)4. Установка rails (4.1)

Page 3: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

curl -sSL https://get.rvm.io | bash -s stable --rails --ruby

Одна команда:

Page 4: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Создаём проект

> rails new test_project

Page 5: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Настройка коннекта к БД

config/database.yml

Page 6: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Запуск сервера

> rails s

Page 7: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Роутинг

config/routes.rb

http://rusrails.ru/rails-routing

Page 8: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Генераторы

> rails g model Car name:string

model: string year: integer

> rake db:migrate

> rails g controller cars

Page 9: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Консоль

> rails c

Page 10: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

ActiveRecord: работа сбазой данных

@car = Car.new(name: ‘ford’,

model: ‘gt’)

@car.save

http://rusrails.ru/active-record-basics

Page 11: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

ActiveRecord: работа сбазой данных

Car.where(name: ‘kamaz’)

Car.find(199)

Car.trucks.from_russia.count

Car.exists?(model: ‘911’)

Car.delete_all

http://rusrails.ru/active-record-basics

Page 12: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

ActiveRecord: работа сбазой данных

Car.pluck(:id, :name)

Car.joins(:owner, :reviews)

.where(color: ‘red’)

.where(owner: {name: ‘Foo’})

.delete_allhttp://rusrails.ru/active-record-basics

Page 13: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

ActiveModel: валидации

class Car < ActiveRecord::Base

validates :name, presence: true

validates :year, presence: true,

numericality: true

end

http://rusrails.ru/active-record-basics#validatsii

Page 14: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Form Helpers

<%= form_tag cars_path do %>

Name:

<%= text_field_tag :name %>

Model

<%= text_field_tag :model %>

<%= submit_tag 'CREATE' %>

<% end %>

http://rusrails.ru/layouts-and-rendering-in-rails

http://rusrails.ru/rails-form-helpers

Page 15: Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)

Стажировка-2014

Выбор тестового редактора:

• IDE от JetBrains RubyMine• SublimeText• Atom• VIM, emacs