前からMobile on Rails使ってたんだけど、
最近Jpmobileにしてみようかと思ってる。
次何かするときは試してみようかなー
セッションどうなってるんだろ。。
2008年9月11日木曜日
2008年9月4日木曜日
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ワードが入ってるとエラーを返すようになります。
しゅんさつですねー^-^
さて、タイトルの通り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ワードが入ってるとエラーを返すようになります。
しゅんさつですねー^-^
2008年8月12日火曜日
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に画像保存する場合の記述です。
テストしたい内容は分かるのにどうやって書けばいいのか分からない時ほど
もどかしいものはないですね;-;
今日は画像アップロード機能のテストのメモ。
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に画像保存する場合の記述です。
登録:
投稿 (Atom)