ScalatraでFormDataを受け取る(その2)
前回、multiParamsで取るような配列の要素を送るときは...
なんて勿体ぶりまりましたが、要素がダブって設定されるという事象が生じます。
具体的には、
<form action="/file" method="post" enctype="multipart/form-data">
<input type="text" name="datas" value="abc">
<input type="text" name="datas" value="def">
<input type="text" name="datas" value="123">
<button value="submit">submit</button>
</form>
というようなformをpostした時に、
multiParams["datas"]で取得すると、
index 0:[abc]
index 1:[def]
index 2:[123]
という3つの要素の配列が取得できると思っていたのですが、
実際には
index 0:[abc]
index 1:[def]
index 2:[123]
index 3:[abc]
index 4:[def]
index 5:[123]
と要素の数が倍になってしまいました。
バグだったのでしょうが、とりあえずの対応としては、
配列の個数もリクエストパラメータにのせ、サーバ側でslice
というなんともはや、な処理をする必要がありました。
(checkboxとか面倒なことこの上なし)
後日談
何とかこのことを伝えたい、でも英語でissue書けないよ...と思ったところ、Scalatraのメンテナをされている瀬良さん(@seratch_ja)に辿り着き、いきなりメールを送りつけたにもかかわらず、対応してもらいました!
2.3、2.4系に取り込まれたみたいですね。
これでScalatraを使わない理由が1つ無くなりました。
Author And Source
この問題について(ScalatraでFormDataを受け取る(その2)), 我々は、より多くの情報をここで見つけました https://qiita.com/nemuzuka/items/b5412caa00c2b40d028d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .