file_fieldで画像をアップ

railsで、Resourceというmodelに画像を保存する様にしたんですが、
new_fileというメソッドでファイルから代入しようとできる様、
ちょっと変更する方法

  alias :resource_old= :resource=
  define_method("resource=") do | value |
    if value.class == ActionController::UploadedTempfile
      resource = Resource.new_file(value, value.original_filename)
      self.send :resource_old= , resource
    elsif value.class == Resource
      self.send :resource_old= , value
    else
      nil
    end
  end

model側からbelongs_toでresourceに連携した後に定義される代入を
オーバーライドしてます。