GET メソッドを使用できますが、URL で名前と値のペアを取得し、テンプレートを取得しません。このフォームに「5」と入力すると、次のようになります。
<form action="/orders" method="get">
<input type="text" name="id"/>
<input type="submit" value="Submit"/>
</form>
送信すると、URL は /orders/5 ではなく /orders?id=5 になります。
/orders/5 を探している場合は、jquery を使用して簡単に実行できます。
<script type="text/javascript" language="javascript">
$("form").submit(function () {
// prevent the default GET form behavior (name-value pairs)
event.preventDefault();
// Get the action attribute
var action = $("form").attr("action").toLowerCase();
// For each form element found, replace {elementName} in the action attribute to build a URL from template
var values = $("form").serialize().split("&");
for (var i = 0; i < values.length; i++) {
var tokens = values[i].split("=");
action = action.replace("{" + tokens[0].toLowerCase() + "}", tokens[1]);
}
// Send the user off to the URL w/ template elements replaced
window.location.href = action;
});
</script>
おそらくいくつかのエスケープを追加し、テンプレート入力が利用できなかったときに条件を処理し、他のいくつかのエッジケースをテストする必要がありますが、上記のコードは任意の数のテンプレート要素を持つ基本ケースで機能し、あなたを得るでしょう上記の /orders/5 に。