Цей туторіал покаже як створити простеньку аплікацію на .
Merb вимагає принаймні 1.3. Якщо у вас старіша версія то необхідно оновити. Також має бути встановлений . Якщо часом Mongrel не стоїть то необхідно його поставити:
gem install mongrel
Інсталюємо Merb на Windows наступною командою:
gem install merb
Або на Лінуксі:
$ sudo gem install merb
На момент написання статті була доступна версія 1.0.8 яка мала певні проблеми під Windows. Якщо у вас виникли проблеми при встановлені, необхідно виконати наступні кроки.
В ручну скачати do_sqlite3-0.9.10.1-x86-mswin32.gem наприклад з
Встановити:
gem install do_sqlite3-0.9.10.1-x86-mswin32.gem
Після цього попробувати ще раз встановити merb.
Коли все готово то можна приступити до створення аплікації:
merb-gen app blog --template-engine=haml
Ця команда створить папку з іменем «blog» і помістить туди файли аплікації. Останній ключ вибере як двигун представлення. Також доступний є Erb.
Щоб продовжити процес слід перейти в щойно створену папку:
cd blog
Почнемо створювати моделі. З початку створимо модель допису (post):
Щоб гарно працювали посилання слід поміняти у файлі config/router.rb з:
Merb::Router.prepare do
resources :comments
resources :posts
...
end
на
Merb::Router.prepare do
resources :posts do |post|
post.resources :comments
end
...
end
Коли REST посилання готові слід додати до моделей зв'язки
Файл app/models/post.rb слід змінити наступним чином.
class Post
include DataMapper::Resource
property :id, Serial
property :body, String
property :title, String
has n, :comments
end
Передостання стрічка додає зв'язок до коментарів. Файл app/models/comment.rb слід змінити наступним чином:
class Comment
include DataMapper::Resource
property :id, Serial
property :name, String
property :body, String
property :post_id, Integer
belongs_to :post
end
Передостання стрічка вказує на зв'язок з дописами.
Коли моделі готові можна приступити до представлень. В папці app/views/posts відредагуйте файл new.html.erb наступним чином:
Коли дописи готові, переходимо до представлень коментарів. В папці app/views/comments створіть часткове представлення з іменем "_show.html.haml" та наступним вмістом:
%p= comment.name
%p= comment.body
Також створіть представлення з іменем "_comment.html.haml" та вмітом:
Коментарі (2)
RSS згорнути / розгорнутиblaster
mux
Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.