script/console でデータベースを操作するために、もう一度 scaffold を使ったウェブアプリケーションの作り方をおさらいする。scaffold は RoR 2.x のものを使うので、標準のデータベースは sqlite3 を使うので、sudo gem install sqlite3-ruby で sqlite-3 をインストールしておく必要がある。
まず、Rails のプロジェクトを作る。 ~/console/rails$ rails demo demo ディレクトリに移動して、scaffold で hero というモデルを作る。 ~/console/rails$ cd demo ~/console/rails/demo$ script/scaffold hero name:string sex:string age:integer データベースに Sqlite3 を使う場合はフィールドの定義も一度にできてしまうが、rake db:migrate は必要だ。 ~/console/rails/demo$ rake db:migrate 後は、いつもの手順で script/server を起動すれば良い。 ~/console/rails/demo$ script/server 最後はブラウザで、http://localhost:3000/heros にアクセスすると、ウェブアプリを使用できてしまう。script ディレクトリの中のコマンドの中身を見たりしているので、自分が何をやっているのかというイメージが湧くようになってきたので少し気が楽だ。 ついでにブラウザで次のようなデータを入れておく。 Listing heros Name Sex Age Spiderman male 18 Show Edit Destroy Wonderwoman female 31 Show Edit Destroy Superman male 25 Show Edit Destroy これだけの準備が済んだら、一旦サーバーを Ctrl + C で止める。 ここからが本題だが、再度 script/console を起動する。 ~/console/rails/demo$ script/console Loading development environment (Rails 2.1.1) >> RoR の CoC(convention over configuration) や MVC(model view controller) の解説は参考書にまかせることにして、heros テーブルのデータは Hero クラスのメソッドで操作できる。そこで、Hero.find(id) メソッドを scirpt/console 上で使ってみることにする。 >> Hero.find(1) => #<Hero id: 1, name: "Spiderman", sex: "male", age: 18, created_at: "2008-11-03 00:16:34", updated_at: "2008-11-03 00:16:59"> すると、テーブル heros の id=1 の行のデータをオブジェクトとして取り出すことができた。つまり、ActiveRecord や ActiveHelper などを利用して様々な処理が script/console 上で出きることがわかる。これらの解説を読んで実際にコンソール上で試してみることができるようだ。 Ruby on Rails を Ruby で書かれているが全く別のフレームワークだと考えるのと、RoR といえどもやはり Ruby のプログラムで、他のRubyのプログラムを扱うのと同じ発想で考えることができるのだと考えるのでは、垣根の高さがずいぶん違うような気がする。 RoR に関して長々とプログラムネタを扱ってきたが、つかみ所のなかった RoR の姿が何となく分かって来たような気がしてきたので一連の記事の終了としたい。
by tnomura9
| 2008-11-03 10:40
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||