文字化けしないメールの送り方
UTF8の一部の文字(〜とか)を含むメールも文字化けしないで送る方法の紹介
gettextを利用して一部に修正を加えています。
NKFのオプションに --cp932 を加えているだけなので、
gettext にパッチを当てるのが一番正しい気もしますが、一応これでいけます。
require 'gettext/rails' GetText.locale = 'ja' class HogeMailer < ActionMailer::Base @@charset='iso-2022-jp' def base64(text, charset="iso-2022-jp", convert=true) if convert if charset == "iso-2022-jp" text = NKF.nkf('-j --cp932 -m0', text) end end text = TMail::Base64.folding_encode(text) "=?#{charset}?B?#{text}?=" end def create!(*arg) #:nodoc: create_without_gettext!(*arg) if Locale.get.language == "ja" require 'nkf' @mail.subject = base64(@mail.subject) part = @mail.parts.empty? ? @mail : @mail.parts.first if part.content_type == 'text/plain' part.charset = 'iso-2022-jp' part.body = NKF.nkf('-j --cp932', part.body) end end @mail end end
携帯電話のブラウザバック
携帯から元々POSTで来たページにブラウザバックで戻った時に、
GETで再読み込みをしてくるやつと、POSTなのにQueryString以外の
paramsがなくなっているやつがいる気がする。
で対策として、
verify :method => :post, :redirect_to => {:action => :error}
だと不十分なので、なんかないかなと調べたら、
verify :method => :post, :params => :hoge, :redirect_to => {:action => :error}
で特定のパラメータ(ここでは、params[:hoge])があることを保証してくれるらしい。
でも、key名をちゃんと指定しないといけないのでいまいち。
なにかいい方法はないものか。
acts_as_cached
ActiveRecord のキャッシュが簡単にできる
acts_as_cached を探して彷徨ったのでメモ書き。
以下を参考にして取得してください。
cache_fu に名前が変わったようです。
http://errtheblog.com/posts/57-kickin-ass-w-cachefu
ちなみに、
gem install acts_as_cached
でインストールされるものとは別の物です。