URL末尾が/の場合
railsにURLをパラメータとして渡す際、末尾が/で終わるURLを渡すと/が取り除かれてしまうため.join(‘/’)しても復元されません;
(最後が/だからって空文字列の配列要素が渡されるわけじゃない)
これを復元しなければ正確なURLとして扱えないので調べてみました
前述の通りroutes.rbを通過した時点で末尾の/は取り除かれています
そのため、今回はコントローラに渡される前のURL、即ちrequets.pathを参照して解決しました
これの末尾が/だったらその分を補完すればいいわけです
# URLは/で区切られているので結合する
@url = params[:url].join('/')
# リクエストURLの末尾が/で終わっていたら取り除かれているので補完する
@url = @url + '/' if /(\/$)/ =~ request.path
これで恐らくはURL周りの問題は片付いた…かな?