トップページ -> 研究道具箱と教材 -> JavaScript と JQuery による Web プログラミング -> Padrino をインストールし,使ってみる
[サイトマップへ]  

Padrino をインストールし,使ってみる

Padrino とは、 Sinatra 上に構築された フル・スタック (full-stack) の ruby フレームワーク.必要な機能を選んで取り込めるのが便利.

参考 Web ページ: http://www.padrinorb.com/guides


要点


Padrino のインストール

  1. ruby, rubygesm, sinatra のインストール (Install ruby, rubygems and sinatra)

    ◆ Ubuntu での実行手順例 (Instal Sinattra on Ubuntu)

    sudo apt-get install ruby
    sudo apt-get install ruby-dev
    sudo apt-get install rubygems
    sudo gem install sinatra
    

  2. erubis, eruby のインストール (Install erubis and eruby)
    sudo apt-get -yV install erubis
    sudo apt-get -yV install erubis-doc
    sudo apt-get -yV install liberubis-ruby
    sudo apt-get -yV install eruby
    

  3. Padrino と Padrino 関連ソフトウエアのインストール
    sudo gem install activerecord
    sudo gem install tilt
    sudo gem install slim
    sudo gem install padrino
    

  4. インストール済の gem の更新
    sudo gem update --system 
    sudo gem update
    

Padrino を使ってみる

  1. Padrino プロジェクトの生成
    1. ひな形の生成

      オプションで、次のように設定する

      • プロジェクト名: 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 
      

    2. Gemfile の調整

      末尾に次を追加する

      gem 'activesupport'
      gem 'redis'
      

    3. 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 
      

    4. config/database.rb の確認

  2. ルーティング定義の確認

    「padrino rake routes」で、ルーティングを確認しておく. ルーティングが未定義であることが確認できる

    padrino rake routes
    

  3. ダッシュボードの生成
    1. 「padrino generate admin」の実行
      padrino generate admin 
      

    2. 所定のコマンドを実行
      bundle
      padrino rake ar:create 
      padrino rake ar:migrate
      padrino rake seed 
      

    3. 再度、「padrino rake routes」で、ルーティングを確認する

    4. 「padrino start」で、サーバ起動

    5. http://localhost:3000/admin で管理画面が出ることを確認

      http://localhost:3000/admin

  4. 新しいモデルの追加
    1. モデルの作成
      padrino generate model product id:integer name:text price:integer qty:integer
      

    2. 新しいモデルを作成したので、再度、マイグレーションを実行
      padrino rake ar:migrate
      

    3. product の管理画面生成
      padrino generate admin_page product 
      

    4. コントローラの書き換え

      hoge/admin/controllers/products.rb の記述例

      Hoge::Admin.controllers :products, :cache => true do
      

    5. 再度、「padrino rake routes」で、ルーティングを確認する
      padrino rake routes
      

    6. http://localhost:3000/admin で画面が出ることを確認

      http://localhost:3000/admin

    7. ログインする

    8. 「Products」をクリック

    9. この画面でいろいろな操作ができる