1. ホーム
  2. ruby-on-rails

Railsでbooleanパラメータを送信するにはどうしたらいいですか?

2023-07-29 09:55:59

質問

パラメータ show_all という値で true . この値はモデルに関連付けられていません。

私のコントローラは、このパラメータをインスタンス変数に代入しています。

@show_all = params[:show_all]

しかし @show_all.is_a? String というように if @show_all == true は常に失敗します。

Railsはどのような値をbooleanとしてパースしますか?パラメータが文字列ではなくbooleanであることを明示的に指定するにはどうしたらよいですか?

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

私はzeteticの答えにコメントしたかったが、私はまだそれを行うことができないので、私は答えとしてこれを投稿します。

もし、あなたが

@show_all = params[:show_all] == "1"

であれば ? true : false なぜなら params[:show_all] == "1" 文自体がtrueかfalseで評価されるので、三項演算子は必要ありません。