2008年2月10日日曜日

Active Scaffoldを試す.

某所で立ち聞きしたので(w)調べた.
ActiveScaffold :: A Ruby on Rails plugin for dynamic, AJAX CRUD interfaces
http://activescaffold.com/


で,いつもどおりMacOS X 10.5 (Leopard) + Aptana Studioでやってみたのでその記録


0.まずはRailsパースペクティブを選択し,Railsプロジェクトを作成
 名前をBookmarkとした.(これぐらいは飛ばして良いよね…)

1.モデルの作成
 今回はAptanaらしくGeneratorsビューを用いて(w).
 セレクタからmodel選んで引数としてbookmarkといれ,'Go'!.


2.モデルの設計
 作成したbookmarkのmigrateファイルを編集します.
 ファイルはこれ('db/migrate/001_create_bookmarks.rb').

 (もし作られたファイル(群)が見えない場合はプロジェクトルートでコンテクストメニューを出し,'Refresh'を選択することで生成したファイルが見える.)

 編集部分はここ.今回は選択部の内容を追記した.
t.column :title, :string
t.column :url, :string



3.dbに反映
 rake tasksビューを用いてmigrateを反映させます.
 'db:migrate'を選択.引数は空で'Go'!.


4.Active Scaffoldをインストール
 Rails Pluginsビューを利用.
 左のセレクタから'Active Scaffold'を選択.下のように画面まで出るw.
 で'Go'!.


5.コントローラを用意
 Generatorsビューにて作成.
 セレクタは'controller'を選び,引数にはbookmarkを入力.そして'Go'!.


6.コントローラを編集
 作成したコントローラファイル('app/controllers/bookmark_controller.rb')を編集する.

 (もし作られたファイル(群)が見えない場合はプロジェクトルートでコンテクストメニューを出し,'Refresh'を選択することで生成したファイルが見える.)
 
 編集部分はここ.今回は選択部の内容を追記した.
active_scaffold :bookmark



7.レイアウトファイルを編集(作成)する
 layoutファイルを作成,編集する.
 作成ファイルは'app/views/layouts/bookmark.rhtml'.


 ファイルの作り方は飛ばす(けど良いよねw).
 編集部分はここ.今回は選択部の内容を追記した(って実際は全部を追加するわけだけど).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ブックマーク管理</title>
<%= javascript_include_tag :defaults %>
<%= active_scaffold_includes %>
</head>
<body>
<%= yield %>
</body>
</html>


 とりあえずこれで完成.

 ちなみにここで大切なのは'head'内に次の2行をいれる事らしい.
    <%= javascript_include_tag :defaults %>
<%= active_scaffold_includes %>


8.サーバを起動
 Serversビューにてコンテクストメニューを出し,サーバをAdd.

 
 ダイアログにてとりあえず'OK'.


 追加されたサーバ上でコンテクストメニューを出して,スタート.


9.表示してみる
 ブラウザにて以下のurlにアクセス.
 
http://localhost:3000/bookmark/list



 'Create New'してみる.


 入力...


 入った.


 その他,'編集,削除,表示,検索'ができる.

参考:
Ruby on RailsのActiveScaffoldチュートリアル (CodeZine編集部ブログ)
http://blog.codezine.jp/editor/2007/09/ruby_on_railsactivescaffold_1.php


誰かのお役に立てば幸い.
間違いがあればご指摘いただければ幸い.

0 件のコメント: