Skip to content

Puffer. Быстрый старт

pyromaniac edited this page Jan 24, 2013 · 3 revisions

Вероятно, вам неоднократно приходилось встречаться с задачами создания административных интерфейсов для ваших Rails приложений. Обычно, rails разработчики используют для этих целей генератор скаффолдов, входящий в Rails. Стандартный генератор создает очень простые административные интерфейсы. Хотите большего? Тогда пора попробовать одно из решений,которые предоставляют сторонние разработчи. И если вы не знаете с чего начать, или хотите попробовать что-то новое, то Puffer, вероятно, станет отличным выбором для вас!

Использовать Puffer очень легко.

Создайте новое приложение Rails 3.1 (используется mysql)

rails new puffer_demo -d mysql

Перейдите в каталог нового приложения

cd puffer_demo/

Отредактируйте конфигурационный файл для соединения с базой данных (config/database.yml). Это может выглядеть приблизительно так:

development:
  adapter: mysql2
  database: puffer_demo_development
  username: root
  password: qwerty
  encoding: utf8
  reconnect: false
  pool: 5
  socket: /var/run/mysqld/mysqld.sock

Создайте модель для демонстрации возможностей Puffer

rails g model article title:string content:text

Добавьте Puffer в Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.0'
gem 'mysql2'

gem "puffer"

group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem 'jquery-rails'

group :test do
  gem 'turn', :require => false
end

Выполните установку Puffer с помощью Bundler

bundle

Создайте базу данных вашего приложения и создайте ее структуру

rake db:create && rake db:migrate

Создадим административные интерфейсы для созданной ранее модели Article

rails g puffer:controller Article

Добавьте роуты (config/routes.rb) для модели Article в пространстве имен admin

namespace :admin do
  resources :articles
end
mount Puffer::Engine => '/'

Запустите web-сервер

rails s

И перейдите на центральную страницу панели управления, которую формирует Puffer

http://localhost:3000/admin