2008年8月19日火曜日

[Rails2.0.2]NGワードの検証

Railsの話は久しぶりですね。
さて、タイトルの通りNGワードの検証ですが
あまり使う機会がないかもしれないですね。。
しかし、投稿サイト等構築する際には必須なのかもしれません
変な事件も多いですからね

ということで今回はNGワードの検証をチャチャっとやってしまいましょう^-^

まず、NGワードをtxtファイルに書き出していきます。
この時既に正規表現として書いていきます。
例:
○○|○○○|○○○○

これをどこでもいいですがRAILS_ROOT内にng.txtとして保存します。
自分はdocに置いておくことにします。

次にモデルにvalidateを書いていきます。
投稿サイトを意識してArticleクラスとしましょう。

class Article < ActiveRecord::Base
  @@ng = Regexp.new(open("#{RAILS_ROOT}/doc/ng.txt").read)
  #ここに定数として正規表現(NGワード)を予め入れておきます。

  validates_each :title, :body do |record, attr, value|
    if value =~ @@ng
      record.errors.add attr, 'がNGワードを含んでいます。'
    end
  end
end

これで、題名や本文にNGワードが入ってるとエラーを返すようになります。
しゅんさつですねー^-^

[戯言]俺は午後ティー信者

だけど、
リプトンのティーオレってのがうますぎるw
な ん だ こ れ

2008年8月12日火曜日

[戯言]別にミクが好きってわけじゃ・・・

ないけど、これは受けたwwww
早速設定してみたよwwww

2008年8月11日月曜日

2008年7月29日火曜日

[Rails2.0.2]画像アップロード機能のテスト

最近テストばかりしてます・・・
テストしたい内容は分かるのにどうやって書けばいいのか分からない時ほど
もどかしいものはないですね;-;
今日は画像アップロード機能のテストのメモ。

class UserTest < ActiveSupport::TestCase
   
#画像アップロード機能のテスト(異常テスト)
  def test_image_upload
    user = User.new
    image = ActionController::TestUploadedFile.new(
      "#{RAILS_ROOT}/test/testdata_sizeover.jpg", 'image/jpg'
    )
    image.binmode #この記述がないと画像ファイルの読み込みがおかしくなる為注意※Windows環境のみ
    user.uploaded_image = image
    assert !user.valid?
    assert user.errors.on(:uploaded_image)
    assert_equal 'のサイズが大き過ぎます(最大64KB)。',
      user.errors.on(:uploaded_image)

  
end
end

※Userモデル、DBに画像保存する場合の記述です。

2008年7月17日木曜日

[Rails2.0.2]携帯電話から画像のアップロード・・・の後

これはもうメールから添付ファイルで送信してもらって、
それを読み込んで保存するって流れしかないらしいですが。
そこらへん説明すると長いんでまた後日^-^

で、アップロードした画像を僕はDBに保存して
imageアクションとかでリサイズしてsend_dataしてたわけなんですが
なんか携帯から画像が見れない現象が起きたんですよ。
PCからは見れるのにー;-;
何でかなーと画像のプロパティ見るとtext/html とかなってる・・・
ああーーー
Mobile on Rails 使ってるからですねwww
このプラグインはページの文字コードを変換するafter_filter が働いてるわけで、
画像も変換されてます^-^

もう!と思いながら
imageアクションはそのafter_filter を無効にしちゃいます。

class UsersController < ApplicationController
  skip_after_filter :after_filter_for_mobile, :only => [:image]

  def image
    画像リサイズ処理
    send_data処理
  end

end

これで幸せになれました^-^

[戯言]最近忙しい・・・

特にAruaですがwっうぇww
いや、仕事ももちろん忙しいっす。
ブログで書きたい事もあるけど、
書き出すと1時間ぐらいかかっちゃうんだよね・・・
そろそろ次のネタにいきますかね。