を認識しません演算子は、私は、この関数を書いた
これは、最初の行に問題があると言い、そして問題がある:
nilのための未定義のメソッド `>」:NilClass
それはオペレーターとして>
を認識しません。それはなぜそうですか?
を認識しません演算子は、私は、この関数を書いた
これは、最初の行に問題があると言い、そして問題がある:
nilのための未定義のメソッド `>」:NilClass
それはオペレーターとして>
を認識しません。それはなぜそうですか?
NilClass
のように、それをオペレータとして認識しません。 params[:id]
はnilでなければなりません。リクエストに含まれるパラメータのリストをRailsログで確認してください。私の推測では、paramの名前はあなたの考えとは違っています。この例外を回避するには、if params[:id].present? && params[:id] > @max
またはparams[:id].to_i > @max
を試してください。
'params [:id] .to_i'は' nil.to_i'が0を返すので問題を隠すだけです。 '0'があるオブジェクトの有効なIDであれば非常に危険です。 – Phrogz
はい、params[:id]
はnil
です。それがエラーの意味です。おそらくparams['id']
を代わりにしたかったでしょうか?実行中のアプリケーションのコンソールにアクセスできる場合は、p params, params[:id]
を試して、再度値を確認して、値params[:id]
を確認してください。
params [:id]の値がnilではありませんか?そのエラーはそれを意味します。 –