【Rails】nil can't be coerced into Integerの空欄エラーを、エラーが出ないでバリデーションかけられるようにしたい

実現したいこと

ここに実現したいことを箇条書きで書いてください。

前提

Ruby on Railsで民泊アプリを作成しています。
チェックイン・チェックアウト・宿泊人数を空入力してsubmitすると、以下のようなエラーメッセージになってしまいます。
イメージ説明

発生している問題・エラーメッセージ

nil can't be coerced into Integer

つまり、nilを整数にできないよ!!ってエラーらしいです。イメージ説明

該当のソースコード

ruby

1def sum_of_days2 unless start_date.nil? && end_date.nil?3 sum_of_days = (end_date.to_date - start_date.to_date).to_i 4 else5 sum_of_days = 06 end7 end8 9 def sum_of_price10 unless total_people.nil? && sum_of_days.nil?11 (room.fee * total_people * sum_of_days).to_i 12 else13 sum_of_price = 014 end15 end

試したこと

自分なりに、nilの場合でも、エラーが出ないでバリデーションかけられるようにif構文を書いてみたのですが、まだ駄目みたいです。
この場合は私の書き方が間違っているのでしょうか?

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。
ブランチ名:develop
GitHub

コメントを投稿

0 コメント