Watch our Blog Tutorial Screencast - Padrino Ruby Web Framework

Basic Projects

 

基本的なプロジェクトの進め方

まず、 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 admin

config/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

これで完了です! ウェブサーバを立ち上げ、いくつかの投稿を追加してみましょう。

blog comments powered by Disqus
Write at least 4 chars
Matches are highlighted

Chapters

Guides Index

Info

  • Last edited by Uchio Kondo
  • Edited about 1 year ago
  • 0 Comments