fv17の日記

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

pickadate.jsをRailsを使うと「Rack::QueryParser::ParameterTypeError (expected Hash (got String) for param `xxx'):」でエラーとなる

pickadate.jsをRailsで実装したところ、同一パラメータを複数設定してサーバー側に送信しており、400 Bad Request エラーでコケた。

エラー

Rack::QueryParser::ParameterTypeError (expected Hash (got String) for param `check_in'):

回避策

github.com

次のPRで直すと記載されているが、最新バージョンでも同様のエラーが発生するため、記事内に書かれている2つの回避策のいずれかを採用して対応。

Rails、Ruby - case文を正規表現で分岐させた後にマッチ部分を使う

表題の件をやろうとすると冗長なコードしか書けなかった。
先人がいたため参考にするも、今回は可読性を考慮して冗長なままにする。

qiita.com

Railsでtypeahead.jsを使ってオートコンプリート機能を実装する

Railsでtypeahead.jsを使ったオートコンプリート機能(入力補完機能)の実装手順

https://www.virment.com/rails-typeahead-autocomplete/

Typeahead.js and Bootstrap4

上記ブログだとBootstrap3のCSSへのリンクがあるが、Bootstrap4を使っている場合はコチラ
https://github.com/bassjobsen/typeahead.js-bootstrap4-css