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

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

関連する外部ページhttp://www.padrinorb.com/guides


要点

Padrino のインストール

  1. 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
    
  2. 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
    
    
  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
      
  2. config/database.rb の確認
  3. ルーティング定義の確認

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

    padrino rake routes
    
  4. ダッシュボードの生成
    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

  5. 新しいモデルの追加
    padrino generate model product id:integer name:text price:integer qty:integer
    
  6. 新しいモデルを作成したので、再度、マイグレーションを実行
    padrino rake ar:migrate
    
  7. product の管理画面生成
    padrino generate admin_page product
    
  8. コントローラの書き換え

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

    Hoge::Admin.controllers :products, :cache => true do
    
  9. 再度、「padrino rake routes」で、ルーティングを確認する
    padrino rake routes
    
  10. http://localhost:3000/admin で画面が出ることを確認

    http://localhost:3000/admin

  11. ログインする
  12. 「Products」をクリック
  13. この画面でいろいろな操作ができる