1
私はRails 5アプリを持っています。Rails 5では、モデルの検証に失敗してもcreateメソッドが実行されますか?
私は、フォーム提出の新しい注文を保存するcreateメソッドを持つ注文コントローラを持っています。注文の1つのフィールドは郵便番号であり、私の作成方法では配送コストを計算するために郵便番号を使用します。それが欠けているので、私は今、私はcalculateShippingからエラーを取得するZIPコードせずに注文を送信した場合、私は私の注文モデルに
validates :zip, presence: true
を検証を持っているので、
def create
@order = Order.new(order_params)
shipping = calculateShipping(@order.zip)
...
end
私はすべての注文のために郵便番号が必要郵便番号
- フォームが有効でない場合、検証が最初に実行され、createメソッドが呼び出されないと考えました。なぜ私はまだエラーが発生するのですか?それを解決するために私は何ができますか?
- 送料の計算をモデルに入れる必要がありますか?どのように見えるだろうか?
ありがとう!