Padrino とは、 Sinatra 上に構築された フル・スタック (full-stack) の ruby フレームワーク.必要な機能を選んで取り込めるのが便利.
ルーティング定義、コントローラの生成、ビューの生成を行なってみる
【外部ページへのリンク】 http://www.padrinorb.com/guides
手順の要点
gem install padrino padrino generate project hoge -t shoulda -e erb -c sass -s jquery -d activerecord cd hoge bundle padrino generate admin padrino rake ar:create padrino rake ar:migrate padrino rake seed padrino start
◆ 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 'activesupport'
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
※ app/app.rb では、ルーティング定義のほか、Caching など、さまざまな定義ができる
get "/" do "Hello, World!" end get :welcome do render 'welcome/index.erb' end
padrino generate controller welcome
app/views/welcome/index.erb を試しに次のように作成
<html> <p> Welcome <%= params %> </html>
padrino rake routes
padrino start
http://localhost:3000/welcome
JavaScript を使っている例
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; initial-scale=1.0; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="MSThemeCompatible" content="yes" /> <title> JavaScript Sample </title> <script type="text/javascript"> <!-- function foo(val){ alert(val); } //--> </script> </head> <body> <script type="text/javascript"> <!-- document.write( <%= params %> ) //--> </script> </body> </html>
先ほどのディレクトリ/var/tmp/hoge のままで、次の操作を行う.
padrino generate admin
bundle padrino rake ar:create padrino rake ar:migrate padrino rake seed
http://localhost:3000/admin