Створюємо перший додаток в ruby ​​on rails 3, Токарчук андрей

Я створив спеціальний каталог для своїх ruby-додатків.

mkdir / home / andrey / ruby
cd /home.andrey/ruby

У рейок є багато консольних утиліт, які сильно полегшують роботу, особливо по прототіпірованію. Для створення програми, що використовує в якості бази mysql виконаємо команду:







rails new app -d mysql

app - це назва нашого нового додатка. Після виконання команди ми побачимо, як rails зробив нам каркас майбутнього програми.

Заходимо в папку з ним і встановлюємо необхідні геми. Геми - це спільні бібліотеки, необхідні для проекту (аналог PHP'шних PECL і PEAR).

Після цього, в консолі буде щось на зразок цього:

/ Ruby / app> sudo bundle install
Using rake (0.8.7)
Using abstract (1.0.0)
Using activesupport (3.0.0)
Using builder (2.1.2)
Using i18n (0.4.2)
Using activemodel (3.0.0)
Using erubis (2.6.6)
Using rack (1.2.1)
Using rack-mount (0.6.13)
Using rack-test (0.5.6)
Using tzinfo (0.3.23)
Using actionpack (3.0.0)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.8)
Using mail (2.2.9)
Using actionmailer (3.0.0)
Using arel (1.0.1)
Using activerecord (3.0.0)
Using activeresource (3.0.0)
Using bundler (1.0.3)
Using mysql2 (0.2.6)
Using thor (0.14.4)
Using railties (3.0.0)
Using rails (3.0.0)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

Це означає, що всі геми встановлені і підключені. Якщо чогось не вистачає, то bundle сам завантажить їх з rubygems і встановить. Ось цього мені довгий час не вистачало в php, по суті виходить установник проекту. Список залежних гемов знаходиться в файлі Gemfile в корені проекту.

конфігурація

Тепер треба укаать реквізити доступу до БД нашого проекту. Відкриваємо проект в NetBeans: New Project -> Ruby -> Ruby on Rails application with existing source. Вказуємо шлях, в моєму випадку це буде (/ home / andrey / ruby ​​/ app) і назва проекту (app). Як Ruby Platform вибираємо встановлену в системі, а не вбудовану в NetBeans. Натискаємо Finish і проект створився. Відкриваємо псевдо-папку Configuration і файл database.yml. Тут треба вказати логін і пароль для доступу до бази, бажано відразу для всіх трьох середовищ (development, test, production). Оточення - це середовище в якій буде запускатися наш додаток,

  • development - комп'ютер розробника,
  • production - сервер промислової експлуатації,
  • test - робота в режимі тестування на сервері безперервної інтеграції або комп'ютері тестувальника.

Пароль пишемо в лапках. Далі необхідно створити модель даних, наприклад створимо модель користувача. Робимо це з консолі в папці проекту:







rails generate model User name: string hashed_password: string salt: string

Відразу видно, чого нагенеріл нам Rails:

Дуже добре, тепер нам треба створити базу даних. Виконуємо для цього:

/ Ruby / app $ rake db: create
(In / home / andrey / ruby ​​/ app)
andrey @ vaio:

Консоль виводить додані дані. Дивимося в phpmyadmin і бачимо нові бази app_development і app_test, а також таблиці в них. Тепер настала черга додати реальні дані. Для цього запускаємо консоль rails

Консоль - це не просто консоль, а консоль IRB в контексті вашого застосування. Як приклад створимо двох користувачів:

/ Ruby / app $ rails console
Loading development environment (Rails 3.0.0)
irb (main): 001: 0> user1 = User.new
=> #
irb (main): 002: 0> user1.name = «andrey»
=> «Andrey»
irb (main): 003: 0> user1.save
=> True
irb (main): 004: 0> user2 = User.new
=> #
irb (main): 005: 0> user2.name = «vasiliy»
=> «Vasiliy»
irb (main): 006: 0> user2.save
=> True

irb (main): 007 0> exit
andrey @ vaio:

Подивимося в базу, і дійсно у нас з'явилися два користувача. Хочеться відзначити, що Rails сам додав стовпці первинного ключа і поля created_at (дата створення) і updated_at (дата зміни) моделі.

Модель у нас є, дані теж. Пора запустити наш додаток.

Створюємо перший додаток в ruby ​​on rails 3, Токарчук андрей

Відмінно, додаток працює. Але воно показує звичайну HTML-сторінку з папки /public/index.html. А ми хочемо динамічну. Відкриваємо друге вікно консолі (тому що в першому у нас запущений вер-сервер рубай - WebRick), заходимо в папку з проектом і набираємо там наступну команду:

/ Ruby / app $ rails generate controller index index
create app / controllers / index_controller.rb
route get «index / index»
invoke erb
create app / views / index
create app / views / index / index.html.erb
invoke test_unit
create test / functional / index_controller_test.rb
invoke helper
create app / helpers / index_helper.rb
invoke test_unit
create test / unit / helpers / index_helper_test.rb
andrey @ vaio:

# You can have the root of your site routed with «root»
# Just remember to delete public / index.html.
root: to => «welcome # index»

Тільки замість welcome пишемо теж index. Ну звик я по Zend Framework'у, що контролер і дію по-замовчуванню називаються index Чи не забиавем видалити (або перейменувати) файл public / index.html).

root: to => «index # index»

Оновлюємо сторінку в браузері, і бачимо, що тепер відображається наш вид.

Find me in app / views / index / index.html.erb

Відмінно. Тепер можна кодувати Заходимо в наш новостворений контролер (Controllers -> index_controller.rb) і пишемо там такий текст дії:

class IndexController def index
@users = User.find (: all)
end
end

Тепе відкриваємо вид Views / index / index.html.erb і пишемо там такий код:


Find me in app / views / index / index.html.erb


<% for user in @users -%>
<%=user.name%>

<% end %>

Цим, ми говоримо Rails пройтися по масиву користувачів і відобразити їх імена. Оновлюємо сторінку і бачимо список користувачів внизу.

Find me in app / views / index / index.html.erb

Відмінно! Додаток створено!

8 Responses to "Створюємо перший додаток в Ruby on Rails 3"

Олександр Поляков.







Схожі статті