hirax.net::Tech-logs::2009-05-23

2009-05-23[n年前へ]

Railsでの「名前指定無し引数」の渡され方 

hirax.netは、現状、Railsを使ったシステムで動いています。「hns(ハイパー日記システム)時代のURLを蘇らせる」のに、Railsのコントローラで対応しました。 hnsを使い始めた頃のURL、Apache mod rewriteでhnsをPermaLink化する前には、
  http://www.hirax.net/diaryweb/?200203c&to=200203290
といった具合で年月日指定が引数渡しでした。そういったアクセスをしても、適切なページが表示されるようにしてみました。

 たとえば、上のURL例の場合には、コントローラが受け取るparamsは{"200203c"=>nil,"to"=>"200203290",・・・}といったものになるので、valがnilのkeyをパースして現在のURL(Apache mod rewriteでhnsをPermaLink化したURLに互換の)にリダイレクトする、というようにしました(to=200203290といった部分は、まだ対応していないのですが、来週にでも対応するようにしておこうと思います)。

 ?200203cといった「名前無し」引数渡しの場合には、keyに引数が入っている(値はnil)ということに、「なるほど」と思わされました。