2006-09-11
[プラポケ][Rails]グレード別のスケジューリング
実装が面倒だと思っていたけどこれだけでいいかも。 プレイヤーの grade は対戦後ポイントに応じて設定しておく。
def grade_is(grade) { :find => {:conditions => ["grade = ?", grade]}, :create => {:grade => grade }, } end def create_schedules grade_max = 3 (0..grade_max).each do |grade| Schedule.with_scope(grade_is(grade)) { Player.with_scope(grade_is(grade)) { _create_schedules } } end end
Ruby会議で舞波たんに教えてもらって以来お気に入りの with_scope 。 こうやってネストして書くしかないのかな。