基本的なプロジェクトの進め方
まず、 Installation の項目を読んでください。 Padrino の、 Sinatra 由来の特徴をより深く理解したくなったら、 Underlying Sinatra Overview の項目もチェックするとよいでしょう。
プロジェクトの生成
新しく Padrino のプロジェクトを立ち上げたいのであれば、各コンポーネントはデフォルト (テストに RSpec, テンプレートエンジンに Haml) を用いて、データベース用アダプターを利用しない場合は、以下のコマンドを起動するだけです。
$ padrino g project my_project # defaults to rspec and haml
Padrino は、モック用ライブラリ、テスト、テンプレート、ORM(O/R マッパー)、 JavaScript の各コンポーネントについて組み込みでサポートを用意しています。
$ padrino g project custom_project -t rspec -d activerecord -s prototype # this will generate a new padrino custom_project using rspec, activerecord, haml and prototype
すべての、利用できるコンポーネントの一覧を参照したい場合は、 Generators のページをご参照ください。
「永続化」のエンジン
プロジェクト作成時、 Padrino は、デフォルトではあなたのプロジェクトにデータベースは要らないと見做し、特別なライブラリをインストールしません。
データ永続化のために何らかのエンジンを必要とする場合、 padrino g コマンド実行時に、 -d オプションで利用したい ORM の名称を、以下を参考に明示してください:
$ padrino g project your_project -d activerecord # Uses ActiveRecord $ padrino g project your_project -d datamapper # Uses Datamapper $ padrino g project your_project -d mongomapper # Uses MongoMapper $ padrino g project your_project -d sequel # Uses Sequel $ padrino g project your_project -d couchdb # Uses CouchDB
SQL を用いるような永続化エンジン(いわゆる RDBMS ですね)を使いたいなら、 -a オプションで以下のように RDBMS 用アダプターを選択することができます:
$ padrino g project your_project -d datamapper -a mysql # Uses Datamapper and MySQL $ padrino g project your_project -d activerecord -a postgres # Uses ActiveRecord and Postgres $ padrino g project your_project -d sequel -a sqlite # Uses Sequel and Sqlite3
datamapper, activerecord, sequel を用いる際は、 sqlite, mysql, postgres のアダプターが現在サポートされています。
アプリケーションの生成
Padrino のメインコンセプトは、デフォルトの「プロジェクト」、すなわち「コアアプリケーション」を作るということです。
$ padrino g project my_project # creates a Padrino project with defaults to RSpec and haml
そうしたら、 Padrino の「プロジェクト」に、サブアプリケーションを追加することもできます。
$ cd my_project my_project $ padrino g app gallery
また、 “gallery” サブアプリに、独自のコントローラ、メーラー、モデル……、などを加えることも可能です。
my_project $ padrino g controller get:index --app gallery「マウント可能」なアプリを生成する際は、 Padrino は自動的にそれらアプリをマウントしてくれます。たとえば、上述の “gallery” アプリは、 /gallery にマウントされるでしょう。
「マウントされた」アプリは、 config/apps.rb ファイルを編集することで、容易にマウント先を変更したり、その他の設定をすることができます。
Admin 画面を生成する
Active Record を利用した Padrino プロジェクトを作成することとしましょう:
$ padrino g project blog -d activerecordプロジェクトの依存ライブラリをすべてインストールします:
$ cd blog blog $ bundle install
Padrino は、 web-app-theme に影響された、綺麗な管理画面を持っています。
ここで、 Padrino は複数のアプリケーションを同時にマウント出来るように設計されていることを思い出してください。この設計思想のおかげで、我々のアプリの 管理画面 は単なる Padrino のいち アプリケーション となるのです。
blog $ padrino g adminconfig/database.rb を編集してデータベースの設定をし、そののちテーブルやカラム追加のためにマイグレーションを実行しましょう:
blog $ padrino rake ar:migrateさて、最初の管理用アカウントを作成しましょう; これは、 seed.rb に入っているデフォルトのアドミンのデータを取り込むことで実現できます:
blog $ padrino rake seedそして、以下の表示をターミナルで確認するでしょう。メールアドレスとパスワードを入力してください:
Which email do you want use to log into admin? [email protected] Tell me the password to use: foobar Perfect! Your account was created. Now you can start your server with Padrino start and then log into /admin with: email: [email protected] password: foobar
(訳注: ここの表示も日本語化したいですね)
これで、ウェブサーバを立ち上げることが可能になります:
blog $ padrino startいま、 http://localhost:3000/admin を開き、上で設定した email とパスワードでログインしてみてください。
モデルの追加
Post モデルを我々のブログに追加してみましょう:
blog $ padrino g model post name:string body:textマイグレーションを実行し、新規作成された Post モデルのためのテーブルを作成します:
blog $ padrino rake ar:migrate管理画面を作り、投稿をを作成、編集、削除できるようにしましょう
blog $ padrino g admin_page postこれで完了です! ウェブサーバを立ち上げ、いくつかの投稿を追加してみましょう。

