URLSearchParamsを使うと、こんなかんじになりました。
searchParams = JS.eval 'return new URLSearchParams(location.search)' if searchParams.has('phrase') == JS.eval('return true;') phrase = searchParams.get('phrase').to_s set phrase, template end
新しく課題が見つかりました。
- JavaScriptのオブジェクトをつくるのに
JS.evalが必要。JS.global.URLSearchParams.newと書きたいです。 - JavaScriptの判定結果をJavaScriptのtrueと比較しないと常に真になる。
JS::TRUEがあるとうれしい?それともto_bメソッドがいい?どっちかっていったらto_bメソッドかな? to_sを付け忘れがち。これは何もアイデアはありません。