金子邦彦研究室プログラミングJavaScript と JQuery による Web プログラミングPadrino をインストールし,使ってみる

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 -y 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 -y 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
    

    [image]
  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
        

        [image]

        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 
        

        [image]
      2. 所定のコマンドを実行
        bundle
        padrino rake ar:create
        padrino rake ar:migrate
        padrino rake seed 
        
      3. 再度、「padrino rake routes」で、ルーティングを確認する

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

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

        http://localhost:3000/admin

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

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

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

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

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

        Hoge::Admin.controllers :products, :cache => true do
        
      5. 再度、「padrino rake routes」で、ルーティングを確認する
        padrino rake routes
        

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

        http://localhost:3000/admin

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