Programing

존재가 true로 설정되지 않은 경우에도 Rails 유효성 검사에 숫자가 필요함

lottogame 2020. 11. 26. 07:46
반응형

존재가 true로 설정되지 않은 경우에도 Rails 유효성 검사에 숫자가 필요함


하나의 필드 세트가없는 레코드를 저장하려고합니다. 모델에 유효한 수치가 있습니다. 유효성 검사에서 존재가 필요하지 않더라도 필드가 숫자가 아니라는 오류가 여전히 발생합니다.

확인:

validates :network_id,    :numericality => true

그에 대한 코드는 모델을 저장하는 것입니다.

networks.each do |network|
  network.url = network.raw_data.link
  network.save!
end

오류:

Validation failed: Network is not a number

validates :network_id, :numericality => true, :allow_nil => true

    validates :network_id, :numericality => {:allow_blank => true}

당신은 사용해야합니다 allow_blank

validates :network_id,    :numericality => true, :allow_blank => true

Rails 4 ( Ruby 2 )에서는 다음과 같이 작성할 수 있습니다.

validates :network_id, numericality: { greater_than_or_equal_to: 0, allow_nil: true }

다음과 같이 쓸 수도 있습니다 ...

validates_numericality_of :network_id, allow_nil: true

참고 URL : https://stackoverflow.com/questions/7981351/rails-validation-required-numericality-even-though-presence-is-not-set-to-true

반응형