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

Post on 04-Jul-2015

214 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RUBY ON RAILSframework

Wednesday, August 21, 13

Что это?

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

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

Wednesday, August 21, 13

Как начать

Ruby

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

gem install rails

Wednesday, August 21, 13

CRUD

Операция SQL HTTP

create insert POST

read select GET

update update PUT

delete delete DELETE

Wednesday, August 21, 13

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

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

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

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

запись.

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

Wednesday, August 21, 13

ActiveRecordPost.joins(:comments)

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

Wednesday, August 21, 13

Схема БД

posts comments

id integer

title string

content text

id integer

post_id integer

content text

Wednesday, August 21, 13

Немного кода<?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

Ruby

5.times { print "Hello Ruby!" }

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

Wednesday, August 21, 13

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

Batteries included

HAML/Slim

SCSS/SASS

CoffeeScript

Wednesday, August 21, 13

Почитать

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

http://guides.rubyonrails.org/

Wednesday, August 21, 13

top related