debiancdn

AWS, Content Delivery Network and Debian

日別アーカイブ: 2006/07/01

valid? をつかってbanlistのチェックをできるようにした。

今日は秋葉ではcodefestがやっているようでknokさめなどは準備に余念がないようであさからいろいろやっていた。こっちはいろいろあって参加しないのだが雨ふりそうで珍走するのも何だしちょっといじることに。

たごーさめの提案というかヒントというか要望のためにbanlistをチェックできるようにしてみた。

現状でポストされるtrackbackとcommentがsaveされると,validates_antispamがはしってbanlistでチェックをしている。

まあ暗黙のうちにsave_with_validationを使っているのに気がついたので、今回はチェックだけができればいいのでsaveではなくvalid?をつかってチェックだけをするようにした。

    tb = Trackback.new
    tb.excerpt = checktext
    tb.valid?
    if tb.errors.empty?
      flash[:note] = checktext
    else
      tb.errors.each_full do |msg|
        flash[:ban_message] += msg
      end
      flash[:ban] = tb.errors.count.to_s
      flash[:note] = checktext
    end

validしたらerrors.empty?を見て問題なければよしと。

今日はそれにともなってひとつばかり抜けを発見したのであわせて修正。