Railsにちょっと進出(やっと)

DBの文字コード問題が解決したのでやっと先に進めます。
まずはAptanaでアプリケーションを生成し,database.ymlを編集。移行したDBにアクセスするようにしました。注意したのはテーブル名を複数形にしない設定にしたこと。あと,テストモードのDBを別にしないといけないと注意書きが書いてありましたが,作るのが面倒なのでいまのところ一緒のものに。このあたりは問題が実際に起こってから考えます。
Railsはいろいろな「規約」を設けることで,プログラミングを楽にしていますが,実は今回のように既存のDBを使う場合,「規約」に合わせることができないため,いろいろと面倒なことが起こります。一からRailsで作るのと比べると倍くらい,気を使うところが多いのではないでしょうか。
次に,DBのテーブルにアクセスするための「モデル」を作っていきます。最初はモデルのクラスをただ作ればいいのかと思ったのですが,それだけでは動かないようです。generatorでモデルを作る必要がありました(このあたり,何がどう絡んで動いているのかは,知らなくてもいいのかもしれませんが,多分将来はきちんと理解しておく必要が出てくるでしょう)。
まずはアイテムのためのItemを生成。ここでもテーブルが規約に合っていないので,
set_primary_key: inumber
set_table_name: nucleus_item
と付ける必要があります。

とりあえず,scaffoldを使ってDBアクセスできるかどうか試そうとしたのですが,ジェネレータがDBがないとエラーを吐いてうまくいきません。CodeZineの記事を参考にコントローラを作り,scaffold: itemと書いてサーバーを起動。http://localhost/userにアクセスしたら,おお,ちゃんとnucleus_itemテーブルの内容が表示されました。

ただ,日本語が全部文字化けして?になっています。再びCodeZineの記事から文字設定をし(Layoutはまだ使っていないので不要),DBの文字設定もしました。多分DBのところが一番問題だったのではないかという気がします。これらの修正で,ちゃんと日本語でテーブルの内容を表示しました。

scaffoldには実用的な意味はあまり期待していないのですが,こうやってDBへのアクセスを簡単に確認できるのはありがたいことです。

というわけでRailsに踏み出したといっても,まだコードも何も書いていないのですが,一つ動くことはようやく確認できました。次はほかのテーブルも同じようにモデルを作っていき,リレーションの設定をしていくことになります。


17 Oct, 2007 | General | | Andy
« Prev item - Next Item »
---------------------------------------------

Comments


No comments yet. You can be the first!


Leave comment

© 2007 yoursite.com | Designed by DesignsByDarren
Ported to Nucleus CMS: Suvoroff