動的URLの表示方法
今回のお題
今回のお題は「動的URLの表示方法」です。
次は順番的には詳細表示なのですが、その準備段階として「動的URL」についてまとめておきます。
目次
- 動的URLとは
- 動的URLの具体例
- thymeleafにおける変数と文字列の結合方法
- 動的URLの表示
動的URLとは
動的URLとは、「レコードによってURLの一部が変化するようなもの」を指します。
webサイトで、ユーザーの投稿内容を反映して表示されるものが変化するサービスを動的サイト、変化しないものを静的サイトと呼びますよね。
同じように、対応しているレコードに応じてURLが変化するものを動的URLと呼びます。
動的URLの具体例
動的URLの具体例は、ユーザー詳細・編集・削除などへのリンクですね。
例えば、Railアプリのresourcesオプションでユーザー詳細へのURLを自動生成すると、"/users/user_id"となります。
これをprefixやヘルパーメソッドなどを使わずに実装すると、
<a href="/users/#{@user.id}">
というように、文字列と変数を結合させた表記を使うことになります。
URLの中にカラムの値が含まれているので当然と言えば当然ですよね。
なので、次項ではthymeleaf内で変数と文字列を結合させる方法を見ていきます。
thymeleafにおける変数と文字列の結合
変数と文字列の結合は以下のように行います。
<label th:for="'user_'+${user.id}">
固定文字列として扱いたい部分(user_)をシングルクォートで、変数部分をいつも通りに${}で囲めば変数と文字列が結合されます。
動的URLの表示
ここまでくれば、ほとんど完成したも同然ですね。
<a th:href="@{'/user/'+${user.userId}}">
とすれば完成です。
{}が二重になることにだけ注意してください。