1. ホーム
  2. jquery

[解決済み] 文字列 "true" と "false" をブール値に変換する。

2023-05-12 03:18:57

質問

Railsアプリケーションで、バックグラウンドで検索ビューに問い合わせるためにjQueryを使用しています。フィールドがあります q (検索語)があります。 start_date , end_dateinternal . は internal フィールドはチェックボックスであり、私は is(:checked) メソッドを使用してクエリされる URL を構築しています。

$.getScript(document.URL + "?q=" + $("#search_q").val() + "&start_date=" + $("#search_start_date").val() + "&end_date=" + $("#search_end_date").val() + "&internal=" + $("#search_internal").is(':checked'));

さて、私の問題は params[:internal] には "true" または "false" を含む文字列があり、私はそれをブーリアンにキャストする必要があるからです。もちろん、私はこのようにそれを行うことができます。

def to_boolean(str)
     return true if str=="true"
     return false if str=="false"
     return nil
end

でも、もっとRubyらしいやり方があるはずです。ないですかね......?

どのように解決するのですか?

私の知る限り、文字列をブーリアンにキャストする方法は組み込まれていません。 しかし、もしあなたの文字列が 'true''false' を使えば、以下のようにメソッドを短縮することができます。

def to_boolean(str)
  str == 'true'
end