Ruby on Railsに触れる#2

総括

scaffold様万歳.フレームワークCakePHPくらいしか使ったことがないけれど,思ったよりもすんなりと理解出来た.
ただ,未だにRubyそのもののコードはほとんど書いていない.

この後

はてなで自分が行っている業務を出来る限り自動化出来るアプリケーションを作ろう.

業務といえば,CPUのファン取付で毎度冷や冷やしたり,ネジ止めをする順番を間違えたらやり直しだったりするサーバ組立が自動化されたら万々歳なんだけども.苦笑

以下メモ.

MAMPMySQLを使ったRuby on Rails

プロジェクトの作成
$ rails -d mysql projectname

今のRoRのデフォルトのデータベースがsqlite3になっているそうだ.
あとでconfig/database.ymlの内容をmysqlに変えればいいはずなのだけど,それを試すとWEBrickの起動でエラーが出たので留意.

データベースの設定

databese.ymlを編集

$ vim projectname/config/database.yml 
development:
  adapter: mysql
  encoding: utf8
  database: databasename
  username: root
  password: root
  host: localhost
  socket: /Applications/MAMP/tmp/mysql/mysql.sock

MAMPの場合

  • username/passwordはroot
  • socketの指定が必要(デフォルトと違うので)

ということを踏まえて設定.

モデルとScaffoldによるCRUDの生成

まずはモデルを作ってみる.
取り扱うDBのテーブルがarticlesならば,モデル名はArticleとなる.
どうも

  • 最初は大文字
  • モデルは単数,テーブルは複数形*1
  • 単語区切りはアンダースコア

というルールがあるらしい.Rails開発者の哲学らしい.

$ ruby projectname/script/generate scaffold Hatenar hatenaid:string profile:text

これでCRUDが準備される.

対象となるテーブルの生成とモデルのmigrate

次に対象となるテーブルの生成.

$ rake db:create:all

そして,モデルをDBへmigrate(移行)する.

$ rake db:migrate

これでhatenarsというテーブルが作られる.
phpMyAdminMAMPには入っているのでちょちょいとここで確認出来るので便利だ.

スクリーンショットには幾つか練習で作ったりしたテーブルが見えますが気になさらず.

ブラウザでCRUDを確認

WEBrickを起動.http://localhost:3000/hatenarsへアクセス.

$ ruby projectname/script/server



わーいできたー!
フレームワーク素晴らしい.

補足

さてさて

これからやっとアプリ作成に入る.
メモをしてないがモデル以外もちゃんと触ってますよ!

*1:personならpeopleになるとは不規則な変化は恐ろしい