最近テストばかりしてます・・・
テストしたい内容は分かるのにどうやって書けばいいのか分からない時ほど
もどかしいものはないですね;-;
今日は画像アップロード機能のテストのメモ。
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月29日火曜日
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
これで幸せになれました^-^
それを読み込んで保存するって流れしかないらしいですが。
そこらへん説明すると長いんでまた後日^-^
で、アップロードした画像を僕は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
これで幸せになれました^-^
2008年7月8日火曜日
[Rails2.0.2]外部DB接続
みなさまお久しぶりです。
多少忙しいのもあり更新遅くなりますた。(Aruaがほとんどうぇw
今日は外部DB接続というのをしませう。
あんまり使い道はないけど、アクセスログなんかを外部でやって
バックアップ取りたいとか、そんな感じの時にでもいいんじゃないかな。うん
まず、scaffoldでアクセスログコントローラ作る。DBは外部で作る予定だからいらない
>ruby script/generate scaffold access_log --skip-migration
次にDB作成
>mysql
mysql> create database access_log character set utf8;
mysql> create table access_logs (id int auto_increment PRIMARY KEY, user_id int, created_at datetime, updated_at datetime);
これで環境はできました。
次にアプリ内設定
#database.yml 下部に以下追加
access_log:
adapter: mysql
encoding: utf8
database: access_log
username: root
password:
host: localhost
これで接続できる状態になりました。
次にModel
#access_log.rb
class AccessLog < ActiveRecord::Base
establish_connection(:access_log)
end
以上で外部DB接続できるようになりました。
上記は全て妄想ですので、できるかどうかは保障できませn(ry
でも、簡単にできるはずです^-^
多少忙しいのもあり更新遅くなりますた。(Aruaがほとんどうぇw
今日は外部DB接続というのをしませう。
あんまり使い道はないけど、アクセスログなんかを外部でやって
バックアップ取りたいとか、そんな感じの時にでもいいんじゃないかな。うん
まず、scaffoldでアクセスログコントローラ作る。DBは外部で作る予定だからいらない
>ruby script/generate scaffold access_log --skip-migration
次にDB作成
>mysql
mysql> create database access_log character set utf8;
mysql> create table access_logs (id int auto_increment PRIMARY KEY, user_id int, created_at datetime, updated_at datetime);
これで環境はできました。
次にアプリ内設定
#database.yml 下部に以下追加
access_log:
adapter: mysql
encoding: utf8
database: access_log
username: root
password:
host: localhost
これで接続できる状態になりました。
次にModel
#access_log.rb
class AccessLog < ActiveRecord::Base
establish_connection(:access_log)
end
以上で外部DB接続できるようになりました。
上記は全て妄想ですので、できるかどうかは保障できませn(ry
でも、簡単にできるはずです^-^
登録:
投稿 (Atom)