index
アクションでactivities
テーブルをフィルタリングしてソートするためのビューを作成しました。並べ替えるフィールドのパラメータは配列に設定され、要求にはスクロール要求がparams[:sort]
(たとえば== ["created_at"]
)で渡されます。要求が成功した作品と私のparamsだRuby on rails:hidden_field_tag配列を配列内の文字列に変換する
は次のとおりです。
{"direction"=>"desc","sort"=>["created_at"], "controller... etc }
それから私は、そのようなソート可能なのparamsを渡すために、フィルタリングテーブルとhidden_field_tagのためのDropboxを追加しました:最初の転換ソートするための
=form_tag actitvites_path, method: "get"
=radio_button_tag...
=radio_button_tag...
=select_tag...
=hidden_field_tag :direction, params[:direction]
=hidden_field_tag :sort, params[:sort]
=submit_tag "Filter", name: nil
しかしhidden_field_tag
を値params[:sort]
== ["created_at"]
を簡潔に"created_at"
にすると、なぜ私には分かりません。それは質問です。私は、HTMLの取得:
<input type="hidden" name="direction" id="direction" value="asc">
<input type="hidden" name="sort" id="sort" value="created_at">
は '名= "ソート[]"'と、チェック 'の
、=」 created_at "> ' – Sravan
ありがとう!それはうまくいきますが、そこに何が起こっているのか説明できますか?hidden_field_tagメソッドのドキュメントを見て、argsを変換しているものは何も見つかりません。 – fomkin
値の配列を入力にしたい場合は、htmlに配列の値を受け入れるようにする必要があります。 'name =" sort [] "'は、配列の値を取るべきであることをDomに知らせます。回答として – Sravan