Padrino とは、 Sinatra 上に構築された フル・スタック (full-stack) の ruby フレームワーク.必要な機能を選んで取り込めるのが便利.
【関連する外部ページ】 http://www.padrinorb.com/guides
要点
gem 'redis'
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
◆ Ubuntu での実行手順例 (Instal Sinattra on Ubuntu)
sudo apt -y update sudo apt -y install ruby sudo apt -y install ruby-dev sudo apt -y install rubygems sudo gem install sinatra
sudo apt -y update sudo apt -y install erubis sudo apt -y install erubis-doc sudo apt -y install liberubis-ruby
sudo gem install activerecord sudo gem install tilt sudo gem install slim sudo gem install padrino
sudo gem update --system sudo gem update
オプションで、次のように設定する
padrino generate project hoge -t shoulda -e erb -c sass -s jquery -d activerecord
末尾に次を追加する
gem 'activesupport' gem 'redis'
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
「padrino rake routes」で、ルーティングを確認しておく. ルーティングが未定義であることが確認できる
padrino rake routes
padrino generate admin
bundle padrino rake ar:create padrino rake ar:migrate padrino rake seed
http://localhost:3000/admin
padrino generate model product id:integer name:text price:integer qty:integer
padrino rake ar:migrate
padrino generate admin_page product
hoge/admin/controllers/products.rb の記述例
Hoge::Admin.controllers :products, :cache => true do
padrino rake routes
http://localhost:3000/admin