2008年07月30日

boolean型の時にvalidates_presence_ofがおかしな動きをする。

boolean型のカラムのnullチェックを行う時、validates_presence_ofでvalidateするとfalseが渡って来た時にエラーが出る。
例えば、〜フラグだったり、性別だったりで、0、1もしくはtrue、falseを渡す時。

class Hoge < ActiveRecord::Base
 validates_presence_of :hoge_flg
end

こんなときに、0、falseが渡ってくるとエラー処理される。
これまでは、フラグではなくコードとしてintで処理することでごまかしていたけど、さすがにすべてがごまかせるわけでもなく、今更ながら調べてみた。

調べてみると、validates_presence_ofの時は、0、falseはnilと判断されるとのこと。
ではどうやるのかというと、こんなページが見つかりました。

http://dev.rubyonrails.org/ticket/5090

どうやら、validates_inclusion_ofでチェックするらしい。

class Hoge < ActiveRecord::Base
 validates_inclusion_of :hoge_flg, :in => [true, false]
end

よくわからないけど確かにこれで正常に動くみたい。

以上です。

Ruby on Rails 逆引きクイックリファレンス Rails 2.0対応
大場 寧子 大場 光一郎 久保 優子
毎日コミュニケーションズ
売り上げランキング: 70508
おすすめ度の平均: 4.0
4 Railsコードを読んでいくときに参考になる。


ラベル:Rails validate
posted by 何某。 at 22:36| Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

2008年07月27日

xubuntuでファミコンエミュレータを起動する方法。

いつもjavaアプレットの設定の仕方がわからなくなるのでメモ。
FirefoxのNESエミュレータを起動して動作確認。

http://www.java.com/en/download/linux_manual.jsp?locale=en&host=www.java.com:80

まず、ここからjavaをダウンロード。
今回落としたのは jre-6u7-linux-i586.bin。
保存ディレクトリに移動してコマンド実行。

$ sh ./jre-6u7-linux-i586.bin

例によって説明が出てくるので最後まで呼んでyesを入力。
すると、jre1.6.0_07というディレクトリが出来てるのでそれを適当なところへ配置して、Firefoxのプラグインへシンボリックリンクを貼る。

$ sudo cp -R jre1.6.0_07 /usr/java
$ cd /usr/lib/firefox-3.0.1/plugins
$ ln -s /usr/java/jre1.6.0_07/plugin/i386/ns7/libjavaplugin_oji.so

Firefoxを再起動後に下記のページを表示して、正常にインストールされていますとか出ればOK。

Javaのバージョンの確認
http://www.java.com/ja/download/installed.jsp

ついでなので、FireNesを下記からインストールする。

FireNes
http://www.firenes.com.ar/

で、起動させてみて問題なく動くことを確認。
ちなみに画面はこんな感じ。

nes02.jpg

nes01.jpg

超ファミ 1445タイトル完全網羅 エミュレータブック (アスペクトムック)

アスペクト
売り上げランキング: 122275
おすすめ度の平均: 3.5
5 スーファミ好きならぜひどうぞ
2 ううん、、、
1 だまされた
4 値段相応かと
5 見ていて飽きない 
ラベル:Firefox Linux
posted by 何某。 at 18:10| Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

モエヤンの赤が非常に気になる件。

えー、鶴瓶が今年もやってくれるんじゃないかと気になってなかなか寝れない何某です。
こんばんは。

もうすでにこんな時間じゃねーか。

改めまして、おはようございます。
この時間じゃ今年はポロリないかもね。

TV見るときは2chの実況板を開きながらじゃないと落ち着かない私ですが、そのおかげでとんだ掘り出し物がありまして。

モエヤンの赤専用
http://live23.2ch.net/test/read.cgi/livecx/1217102373/

ttp://www.set1979.com/main/deta/profile_64ikebe.htm
ttp://moeyan.jp/photo_06.html

や、やや、かわいいじゃん。。。
とりあえず、急いで画像を保存だ。
posted by 何某。 at 05:29| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2008年07月24日

rcovを実行するとエラーがでる。

.NetやJavaをやってきた同僚がcoverageは便利だと言うので、今日初めて利用してみた。
調べてみるとrubyではrcovというのがあるらしくて、会社のWin環境ではすんなり利用出来た。

要はテストをやっているかどうかを、ソースから拾ってチェックしてくれるツールらしい。

インストールはここを参考。
http://www.tkrb.jp/guide/2008/01/rails_rcov.html

非常に便利なので、家の開発環境にもインストールしたものの、下記のエラーが出てどうもうまくいかない。

ちなみに環境は
・Xubuntu 8.0.4
・Ruby 1.8.6
・rails 2.1.0

/usr/lib/ruby/1.8/rexml/text.rb:292:in `normalize': private method `gsub' called for 0:Fixnum (NoMethodError)
    from /usr/lib/ruby/1.8/rexml/element.rb:1085:in `[]='
    from /usr/lib/ruby/1.8/rexml/element.rb:586:in `add_attribute'
    from (eval):490:in `table_'
    from (eval):490:in `each'
    from (eval):490:in `table_'
    from (eval):490:in `each'
    from (eval):490:in `table_'
    from /usr/lib/ruby/1.8/rcov/report.rb:702:in `format_overview'
     ... 61 levels...
    from /usr/lib/ruby/1.8/rcov.rb:628:in `dump_coverage_info'
    from /usr/lib/ruby/1.8/rcov.rb:628:in `each'
    from /usr/lib/ruby/1.8/rcov.rb:628:in `dump_coverage_info'
    from /usr/bin/rcov:405

原因はいつ入れたのかわからないが、gemではなくapt経由でインストールしたrocvのようだ。
rcovをアンインストールし、再度gem経由でrcovをインストール。

$ sudo gem install rcov

その後実行してみる。

$ rcov -x /var/lib/gems --rails spec/**/*_spec.rb
bash: /usr/bin/rcov: No such file or directory

今度はrcovがないと言われる。
そこで

$ sudo ln -s /var/lib/gems/1.8/bin/rcov /usr/bin/rcov

シンボリックリンクを貼ってやることで解決した。

実行結果はこんな感じ。
rcov.jpg

Railsレシピブック 183の技
高橋 征義 諸橋 恭介
ソフトバンククリエイティブ
売り上げランキング: 6158
おすすめ度の平均: 5.0
5 2008年時点でのRails資料の決定版
5 買って損はありません
ラベル:testing Rails
posted by 何某。 at 23:06| Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

一風変わった訪問販売の思い出。

実家のほうで地震があったようで。どうも何某です。
こんばんは。

まぁたいしたことないようでよかった。

podcastで落語を最近聴いており、何か他にもないかと探していると、実家のほうの放送局が目に止まる。
IBC岩手放送と言えば、巷で「日本一下ネタが多い放送局」で有名だが、まさかitunesのメニューにあるとは思わなかった。

ちなみに私には、IBCのラジオ番組で、「マスターベーション」「おまんこ」を連呼し出入り禁止になった作家の叔父がいる。

どうやらさしもの日本一でも、直球はまずいらしい。

閑話休題。

さっそく落として聴いてみると、今回のテーマは「コンドームの訪問販売」とのこと。
さすが日本一。とても昼間にやっている番組のテーマとは思えない。

懐かしい声を聴きながらふと高校時代の思い出が蘇った。

当時、夏休み中ということもあり、友人Nの家に入り浸ってはNEO GEOで餓狼伝説スペシャルをやっていた。
当時の田舎の高校生のステータスは立ちブレイクスパイラルが出来るかどうかであり、練習をかかすことは許されない。

ふと外を見ると、やつれた女性と小学校低学年くらいの男の子がN宅に向かって歩いてくる。
Nの家の前に止まり、「ごめんください。」の声に私たち二人が出迎えると、間髪入れずに女性が

女「千葉の九十九里から歩いて来ました。一曲歌わせてください。」
N「おひきとりください。」

いきなり来て一方的に歌わせてくださいとはどういう意味か。

女「そういうわけにもいきませんので、歌います。」

そういうわけとはどういうわけか。
さっぱりわからんが私たちを置いて、女性はバッグからトライアングルを出し、チーンと鳴らした。
すると、男の子がそれにあわせ歌い始める。
主がどうのこうの言っているので、おそらく聖歌の類だろう。
一曲が終わった。

女「いかがでしたか?」
N「素晴らしい歌だった。さぁ帰ってくれ。」
女「ありがとうございます。素晴らしいということでしたので、歌詞を説明させていただきます。この主というのは。。。」
N「いいから帰れよ。」

バッグから変なパンフレットを取り出し、主がどうのこうのとか地獄に落ちるとなんとかだの説明をはじめる。
「帰れ」の言葉はどうやら届かないらしい。
こいつは宗教の勧誘だったかと思うやいなや。

女「この素晴らしい聖書を買っていただけませんか。今ならさきほど歌った歌詞カードもついてます。」
N「いくら?」
女「3万8千円です。」
N「さっき新聞屋にお金払っちゃったからお金ないです。」
女「いくらなら出せますか?」
N「5千円。」
女「じゃ5千円でいいです。」

一瞬にして3万3千円の値引きが確定する。
どうやら聖書ってのはそんなものらしい。

N「その聖書の価値もわからんからいらない。」
女「わかりました。ではもう一度歌いましょう。」

再びトライアングルをチーンと鳴らし、歌いはじめる子供。

女「どうですか!素晴らしいでしょ!」
N「まだ良さがわからない。」

この後、2時間ほどこのやりとりを繰り返す。
つまり男の子は2時間も歌うこととなった。

子「お母さん。もうノド痛いよ。疲れたよ。」
女「この子もこう言ってますし、そろそろ買っていただけないでしょうか。
  私たちは千葉の九十九里から歩いて神の素晴らしさを教えて歩いております。
  この聖書のお金がいただけないと、次の目的地に行けないのです。」
N「なるほど。でもいらない。」

その言葉を聞いた女性は、イラっとした顔を見せ、子供の手をとり帰ろうとした。

N「ちょっと待て。」

Nは二人を呼び止めると、冷蔵庫から持ってきた伊勢海老の殻に入ったグラタンを子供に渡した。

N「これでも食ってガンバレ。」

なんでそんなものが家にあるのか、また、なんでこの真夏にグラタンなのか。
子供は受け取り一礼して帰っていった。

N「変な訪問販売だったな。わざわざ歩いて来たってのに。子供には悪いことしたなぁ。」

と、微妙な顔をし、Nは部屋に戻って行った。
私は黙って、待たせていたタクシーに乗って次の目的地に向かう二人を見ているしかなかった。
ラベル:雑記
posted by 何某。 at 01:43| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。