レールに乗っていゆくには

Railsのレールにうまく乗るのは難しいなぁと日々実感する毎日。
ということで最近思っていることをメモ程度に。
 

  • fixture は使わない、代わりにmachinistfactory_girl
    • もうこりごりです。 fixture。
    • 感想&理由はあとで書く
  • 手動テストデータをどうするか。
    • fixture を自動テストで使っている場合、どうしてもinvalidなデータが入る。動かない。
    • yaml_wamlyaml_db を使ってDBダンプしたデータを使うとどうか。
    • まぁ machinist とか使う場合は rake db:fixtures:load でもいいか。
  • マスターはymlで書く。fixtureみたいな感じで読み込めばいい。(DBのマスタデータをfixtureからロード - I am Cruby!
    • マスターデータに id は絶対に振ること。id : 235121651 とかなって腰抜かす。あ、idが溢れそうです!
    • マスターのロード処理はテーブル単位で migration に書いたほうがいいのではないかとふと思った。rake タスクをわざわざ動かさなくて良いし。
  • テストにはモック、スタブを使う。rails2.3.3ではmochaがあると勝手にロードするけど、個人的にrrがいい。
    • 感想&理由く
  • プロジェクトに応じた scaffold の生成
    • 確認画面、完了画面とかとか。決まったパターンになってくるはず。
    • テストとかも一気に生成してしまう xx_scaffold を作る => ハッピー
    • 統一感も出てメンテも楽になる
  • 権限管理は acl9 で楽する
    • role_requirement でもいいけど、このプラグインの範囲で収まることはあまりない。
    • このオブジェクトに対しての権限が欲しいんだ!という時に便利。
  • The Ruby Toolbox - Know Your Options! を見ていいプラグインを発掘する
    • これはかなり便利!

 
以上。
 
と、こういうノウハウって本にあまり載ってないので、その辺りを誰か本にして欲しい。
というかどこかにまとまっていればOK。

追記

id:moroさんのブクコメ

おおむね賛成なんですけど、「テストにはモック、スタブを使う」はビミョウ。モックはすぐに腐りません? ぼくはCukeが好きです(Cuke厨なので)。

Cukeしりませんでした(汗)
 
id:moroさんのレールの乗り方が近日中に公開されるのではないかと大期待。