今日の修正
フィルターの変更
フィルターリストの一番左につけたチェックボックスをチェックしたとき、その条件にマッチするメールを表示「しない」ように修正。
フィルター名をクリックしたときは、その条件にマッチするものだけを表示するのは、変更なし。
controllers/filter_controller.rb
def set_filters select_conds_a = Array.new params.each_key {|key| puts key if key =~ /^select_/ && params[key]["select"] == "1" id = key.sub("select_", "") filter = Filter.find(id) if filter != nil select_conds_a << filter.conds end end } n = select_conds_a.size if n > 0 select_conds = "not (" i = 0 while i < n select_conds += select_conds_a[i] if i == n - 1 select_conds += ")" else select_conds += ") and not (" end i += 1 end end if select_conds != "" cookies[:filter_conds] = select_conds end redirect_to("/list/list") end
要は、選択条件をORでつなぐ代わりにNOTをつけてANDでつなぐようにしただけ。(ついでに、"check"という名前を"select"に変更した。)
メールサーバの設定位置の変更
ListController内でMailFetcherをnewするところにメールサーバのIPアドレスとポート番号を埋め込んであったのを、components/settings.rbにまとめた。