Папярэдні занятак

Сістэма кіраваньня чыгункай :)

Давайце пачнем з чагосьці знаёмага. Перабудейце прыкладаньне выкарыстоўваючы ActiveRecord. Гэта павінна быць даволі проста.

Не забывайцеся пра выдатнейшыя Rails Guides.

Rails Guide section on has-many Вам у дапамогу

Падлік выдаткаў

Стварыце прыкладаньне для арганізоўваньня Вашых выдаткаў. Вы павінны мець магчымасьць увесьці ў праграму на што Вы выдаткоўвалі грошы (напрыклад на макдональдс), кошт (52 300) і дату. Вы таксама павінны мець магчымасьць характызаваць выдаткі дадаючы тэгі (напрыклад “ежа”, “транспарт”). Урэшце Вы павінны мець магчымасьць сгенераваць справаздачу па тэгам і даце (колькі адскоткаў грошаў Вы змарнавалі ў Лютым на кавярні).

Bundler

Мы карыстаемся ўжо даволі вялікай колькасьцю гемаў зараз: Active Record і Sqlite для самога прыкладаньня, Rake і Standalone Migrations для распрацоўкі. Калі праект робіцца вялікім і над ім пачынаюць працаваць шмат людзеў нам становіцца патрэбным сінхранізоўваць гемы, якія мы выкарыстоўваем у прыкладаньні. Для гэтага таксама ёсьць спецыяльны гем: усталюйце гем bundler а потым стварыце Gemfile у Вашым праекце й надрукуйце:

source 'https://rubygems.org'

gem 'activerecord'
gem 'sqlite3'
gem 'rake'
gem 'standalone_migrations'

Зараз выканайце $ bundle install. Bundler усталюе ўсе гем, якія пералічаны ў гэтым файле; у будучыні, замест таго, каб усталёўваць іх з дапамогай каманды $ gem, Вам лепей усталёўваць іх з дапамогай Bundler.

Звычайна ў Gemfile вызначаюцца вэрсіі гемаў, якія трэба ўсталяваць:

source 'https://rubygems.org'

gem 'activerecord', '3.2.10'
gem 'sqlite3', '~> 0.14'
gem 'rake', '>= 10.0.3'

У Вам можа ўзьнікнуць пытаньне, а што калі, напрыклад, мы маем два праекта й кожны зь іх выкарыстоўвае розныя вэрсіі гемаў? Напрыклад розную версію rake? Калі Вы выконваеце $ rake як Ваша сістэма ведае, які гем выкарыстоўваць? Bundler мае рашэньне для гэтага: выканайце $ bundle exec rake і ён выканае вэрсію, якая вызначана ў Вас у праекце.

CRUD

Існуе агульны шаблон-падыход да будаваньня прыкладаньняў з базамі дадзеных – CRUD: create, read, update, delete. Ідэя ў тым, што карыстальнік можа выконваць любыя з гэтых дзеяньняў у аб’екта. Звярніце ўвагу на тое, як Active Record выкарыстоўвае прынцыпы CRUD для сваіх мадэляў.

Калі Вы плянуеце як будзе выглядаць Ваш інтэрфэйс карыстальніка, звярніце ўвагу на прынцыпы CRUD. У большасьці выпадкаў карыстальнік павінен мець магчымасьць рабіць усе гэтыя апэрацыі.

Ваша прыкладаньне

Стварыце простую вэрсію Вашага прыкладаньня. Для кожна з мадэляў у базе дадзеных забяспечце апэрацыі CRUD.

Наступны занятак