Ruby on Railsに触れる#2
この後
はてなで自分が行っている業務を出来る限り自動化出来るアプリケーションを作ろう.
業務といえば,CPUのファン取付で毎度冷や冷やしたり,ネジ止めをする順番を間違えたらやり直しだったりするサーバ組立が自動化されたら万々歳なんだけども.苦笑
以下メモ.
MAMPのMySQLを使った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というテーブルが作られる.
phpMyAdminがMAMPには入っているのでちょちょいとここで確認出来るので便利だ.
スクリーンショットには幾つか練習で作ったりしたテーブルが見えますが気になさらず.
ブラウザでCRUDを確認
WEBrickを起動.http://localhost:3000/hatenarsへアクセス.
$ ruby projectname/script/server
わーいできたー!
フレームワーク素晴らしい.
さてさて
これからやっとアプリ作成に入る.
メモをしてないがモデル以外もちゃんと触ってますよ!
*1:personならpeopleになるとは不規則な変化は恐ろしい