Стажировка-2013, разработчики, занятие 16. ruby on rails

12
RUBY ON RAILS framework Wednesday, August 21, 13

Upload: 7bits

Post on 04-Jul-2015

214 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

RUBY ON RAILSframework

Wednesday, August 21, 13

Page 2: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Что это?

Веб-ориентированная среда разработки с открытым кодом, оптимизировання для счастья программиста.

Она позволяет писать красивый код, используя соглашения вместо конфигураций.

Wednesday, August 21, 13

Page 3: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Как начать

Ruby

RubyGems - менеджер пакетов

gem install rails

Wednesday, August 21, 13

Page 4: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

CRUD

Операция SQL HTTP

create insert POST

read select GET

update update PUT

delete delete DELETE

Wednesday, August 21, 13

Page 5: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

ActiveRecordПусть существует таблица в БД. Для данной таблицы создаётся специальный класс, являющийся отражением (представлением) таблицы, таким образом, что:

• каждый экземпляр данного класса соответствует одной записи таблицы;• при создании нового экземпляра класса (и заполнении соответствующих полей) в таблицу

добавляется новая запись;• при чтении полей объекта считываются соответствующие значения записи таблицы баз

данных;• при изменении (удалении) какого-либо объекта изменяется (удаляется) соответствующая ему

запись.

Post.find(5) SELECT * FROM posts WHERE id = 5

Wednesday, August 21, 13

Page 6: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

ActiveRecordPost.joins(:comments)

SELECT posts.* FROM posts  INNER JOIN comments ON comments.post_id = posts.id

Wednesday, August 21, 13

Page 7: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Схема БД

posts comments

id integer

title string

content text

id integer

post_id integer

content text

Wednesday, August 21, 13

Page 8: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Немного кода<?php

class bannerActions extends sfActions {

public function executeShow(sfWebRequest $request) {

$this->banner = Doctrine::getTable(‘Banner’)->findById($request->getParameter(‘id’));

}

} Ruby On Rails:

class BannerController < ApplicationController

def show

@banner = Banner.find params[:id]

end

end

Symfony:

Wednesday, August 21, 13

Page 9: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Ruby

5.times { print "Hello Ruby!" }

['toast', 'cheese', 'wine'].each { |food| print food.capitalize }

Wednesday, August 21, 13

Page 10: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Ruby!Then "I should see all group members in the list" do

@group.members.each do |member| page.should have_content member.last_name

endend

Wednesday, August 21, 13

Page 11: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Batteries included

HAML/Slim

SCSS/SASS

CoffeeScript

Wednesday, August 21, 13

Page 12: Стажировка-2013, разработчики, занятие 16. Ruby on Rails

Почитать

http://ru.wikibooks.org/wiki/Ruby

http://guides.rubyonrails.org/

Wednesday, August 21, 13