ゴチャゴチャ入り組んだ文字列の生成って面倒ですよね。
ここでRubyは既存クラスに対して楽にメソッドを定義できるという特性を利用すると
スマートに書く事ができます*1
class String def to_param self.upcase end end ##...以下、使いそうなクラスについて個別ルールを記述... class Array def to_param collect {|e| e.to_param }.join('/') end end
と、前準備に時間は掛かりますが...
実行するとこの通り。
%w( a b c ).to_param #=> "A/B/C"
やったぜ!
まぁ、あまり使いすぎると自分でも理解できなくなるので注意は必要です。
*1:書いてて気付きましたが...文字列生成対して異様な執着心を持ってますね私...