Padrino をインストールし,使ってみる
Padrino とは、 Sinatra 上に構築された フル・スタック (full-stack) の ruby フレームワーク.必要な機能を選んで取り込めるのが便利.
【関連する外部ページ】 http://www.padrinorb.com/guides
要点
- Gemfile
gem 'redis'
- app.rb
register Padrino::Cache enable :caching set :cache, Padrino::Cache::Store::Redis.new(::Redis.new(:host => '127.0.0.1', :port => 6379, :db => 0))
コントローラ
hoge/admin/controllers/products.rb の記述例
Hoge::Admin.controllers :products, :cache => true do
Padrino のインストール
- ruby, rubygesm, sinatra のインストール (Install ruby, rubygems and sinatra)
◆ Ubuntu での実行手順例 (Instal Sinattra on Ubuntu)
# パッケージリストの情報を更新 sudo apt update sudo apt -y install ruby sudo apt -y install ruby-dev sudo apt -y install rubygems sudo gem install sinatra
- erubis, eruby のインストール (Install erubis and eruby)
# パッケージリストの情報を更新 sudo apt update sudo apt -y install erubis sudo apt -y install erubis-doc sudo apt -y install liberubis-ruby
- Padrino と Padrino 関連ソフトウェアのインストール
sudo gem install activerecord sudo gem install tilt sudo gem install slim sudo gem install padrino
- インストール済の gem の更新
sudo gem update --system sudo gem update
Padrino を使ってみる
- Padrino プロジェクトの生成
- ひな形の生成
オプションで、次のように設定する
- プロジェクト名: hoge
- orm: activerecord
- test: shoulda
- script: jquery
- renderer: erb
- stylesheet: sass
padrino generate project hoge -t shoulda -e erb -c sass -s jquery -d activerecord
- Gemfile の調整
末尾に次を追加する
gem 'activesupport' gem 'redis'
- bundle の実行
cd hoge bundle
bundle の実行時に次のようなエラーメッセージが出る場合がある.
Bundler could not find compatible versions for gem "tilt": In Gemfile: padrino (= 0.11.1) ruby depends on tilt (~> 1.3.0) ruby padrino (= 0.11.1) ruby depends on tilt (1.4.1)
エラーを回避するために、hoge/Gemfile を編集し、 末尾に次を追加 する
gem 'tilt', '1.3.7'
さらに、次のコマンドを実行する
sudo gem install tilt -v 1.3.7
その後 bundle を実行する。エラーメッセージが出ていないことを確認する
bundle
- ひな形の生成
- config/database.rb の確認
- ルーティング定義の確認
「padrino rake routes」で、ルーティングを確認しておく. ルーティングが未定義であることが確認できる
padrino rake routes
- ダッシュボードの生成
- 「padrino generate admin」の実行
padrino generate admin
- 所定のコマンドを実行
bundle padrino rake ar:create padrino rake ar:migrate padrino rake seed
- 再度、「padrino rake routes」で、ルーティングを確認する
- 「padrino start」で、サーバ起動
- http://localhost:3000/admin で管理画面が出ることを確認
http://localhost:3000/admin
- 「padrino generate admin」の実行
- 新しいモデルの追加
padrino generate model product id:integer name:text price:integer qty:integer
- 新しいモデルを作成したので、再度、マイグレーションを実行
padrino rake ar:migrate
- product の管理画面生成
padrino generate admin_page product
- コントローラの書き換え
hoge/admin/controllers/products.rb の記述例
Hoge::Admin.controllers :products, :cache => true do
- 再度、「padrino rake routes」で、ルーティングを確認する
padrino rake routes
- http://localhost:3000/admin で画面が出ることを確認
http://localhost:3000/admin
- ログインする
- 「Products」をクリック
- この画面でいろいろな操作ができる