htmlヘルパーのlink生成するときちょっとややこしいことになった。
これが出力したいやつ
アプリケーション/コントローラ/アクション/from:〇〇/id
〇〇は文字列で自分で生成してます。
idは数字で数は不定
複数だとこんな風になります。
アプリケーション/コントローラ/アクション/from:〇〇/1/2/3
これをHtml->linkで頑張って生成してみました。
無難にget風に書いていけるかなって思ったけど「/」のエスケープ文字でこけました。
$this->Html->link('リンク文字', array(
'controller' => 'コントローラ',
'action' => 'アクション'. 'from:〇〇/'. id
));
サーバの設定を変えることでこの問題も解決できるようですがコーダとしてそれは負けだと思ったのでもう少し頑張りました。
解決方法は以下のサイトに掲載されていました。(CakePHP 2.0で解消されたURLの特殊文字問題)
http://tkyk.name/blog/2012/02/22/cakephp20-special-characters-in-url/
※自分は試していないのでご了承ください
どうにか自分で「/」を書かないようにしてみた結果、次のようになりました。
$this->Html->link('リンク文字', array(
'controller' => 'コントローラ',
'action' => 'アクション',
'from' => '〇〇',
id
));
しかし結果エラーにはならなかったのですが以下の様なURLになってしまいました。
アプリケーション/コントローラ/アクション/id/from:〇〇
これでも自分の場合は問題なかったのでこれで終わりとしました。
しかし、なんか気持ち悪いな・・・