2010年11月22日

Ruby on Rails in_groups_of(*)

in_groups_ofとは?


配列を指定数単位で区切ることが可能

環境


ruby1.9.1
rails2.3.5

使用方法


hoge=[1,2,3,4,5]
hoge.in_groups_of(2)
=>[[1, 2], [3, 4], [5, nil]]


たとえばdivで区切りたいときに使用
<div class="hoge1">1,2</div>
<div class="hoge2">3,4</div>
<div class="hoge3">5</div>
こんな感じ
posted by RicK at 19:20| Comment(0) | TrackBack(0) | 日記

2010年11月01日

Ruby on Rail 検索キーワード取得

検索キーワード取得とは?


通常googleなどで検索してから各HPへ遷移すると思いますが、
そのとき検索に使用したキーワードを各HPで取得するということです。

環境


rails1.2.6

取得方法


取得方法は至って簡単
request.env['HTTP_REFERER']

これで取得可能です。
urlなどよけいなものもついていますが、
d=の後ろがキーワードなので、そこだけ正規表現などで取り出してください。

日本語は文字化けしているようになっていますが、
エンコードされているだけです。
デコードしてあげましょう。
CGI.unescape(request.env['HTTP_REFERER'])

まだ化けてる時がありません。その時は文字コードを修正します。
CGI.unescape(request.env['HTTP_REFERER']).kconv(Kconv::UTF8,Kconv::SJIS)

上記は、SJISからUTF8へ変換しています。

注意


検索からSSLへ遷移する場合ですが、
なんとdocomoは、HTTP_REFERERが取得できません。
昔なんかおこしたらしく、REFERERが削除されるようになったらしいです。
いやなんとも迷惑な話です。
違うページをはさんでredirectとかならできると思うのですが、
それはだめとかいわれそうですよね。。。
いぁまったく、どうしろというんですかねぇ。
posted by RicK at 16:09| Comment(0) | TrackBack(0) | 日記