[RUBY-ON-RAILS] 레일 - 협회의 유효성 존재를?
RUBY-ON-RAILS레일 - 협회의 유효성 존재를?
나는 내가이에 삽입이 확실 이것이 사실인지 확인하기 위해 호출 할 수있는 방법이 있습니까 B.에 적어도 한 관련 기록을 필요로하는 비즈니스 요구 사항이 다른 모델 B.에 "has_many"관계를 가진 모델 A를 가지고 아니면 사용자 지정 유효성 검사를 작성해야합니까?
해결법
-
==============================
1.당신은 validates_presence_of http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_presence_of 사용할 수 있습니다
당신은 validates_presence_of http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_presence_of 사용할 수 있습니다
class A < ActiveRecord::Base has_many :bs validates_presence_of :bs end
또는 단지의 유효성을 검사 http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates
class A < ActiveRecord::Base has_many :bs validates :bs, :presence => true end
allow_destroy => 사실 : 중첩 된 모델과 부모 검증 당신이 accepts_nested_attributes_for 사용하지만 그것으로 버그가있다. 이 항목에서는 당신은 해결책을 찾을 수 있습니다.
-
==============================
2.-------- 4 레일 ------------
-------- 4 레일 ------------
간단한 유효성을 검사의 존재는 나를 위해 일한
class Profile < ActiveRecord::Base belongs_to :user validates :user, presence: true end class User < ActiveRecord::Base has_one :profile end
이 방법 Profile.create 지금은 실패합니다. 나는 user.create_profile 사용하거나 프로파일을 저장하기 전에 사용자를 연결해야합니다.
-
==============================
3.당신은 validates_existence_of와 연결을 (어떤이 플러그인입니다) 유효성을 검사 할 수 있습니다 :
당신은 validates_existence_of와 연결을 (어떤이 플러그인입니다) 유효성을 검사 할 수 있습니다 :
예이 블로그 항목에서 니펫을 :
class Tagging < ActiveRecord::Base belongs_to :tag belongs_to :taggable, :polymorphic => true validates_existence_of :tag, :taggable belongs_to :user validates_existence_of :user, :allow_nil => true end
또는, validates_associated 사용할 수 있습니다. 관련 객체가 연관된 클래스의 유효성 검사를 실행하여 유효한지 답은 아래 코멘트에 파이 노트로, 검사를 validates_associated. 그것은 존재를 확인하지 않습니다. 그것은 전무 협회가 유효한 것으로 간주되는 점에 유의하는 것도 중요합니다.
-
==============================
4.당신은 협회가 현재와 유효 보장, 당신은 또한 사용할 필요가 모두 있는지 확인하려면
당신은 협회가 현재와 유효 보장, 당신은 또한 사용할 필요가 모두 있는지 확인하려면
class Transaction < ActiveRecord::Base belongs_to :bank validates_associated :bank validates :bank, presence: true end
from https://stackoverflow.com/questions/5689888/rails-validate-presence-of-association by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 왜 첫 번째 요소가 포함 된 배열을 사용하여 다중 선택 항상 내 레일에서 비어? (0) | 2020.02.18 |
---|---|
[RUBY-ON-RAILS] 보석 설치 libv8 --version '3.11.8.17'루비에 (창) (0) | 2020.02.18 |
[RUBY-ON-RAILS] 클라이언트 IP 주소를 가져 오기 : 난간 (0) | 2020.02.18 |
[RUBY-ON-RAILS] 레일 : 하나의 폼에 버튼을 멀티 제출 (0) | 2020.02.18 |
[RUBY-ON-RAILS] (4) 레일 - 부분적으로 가변 전달 (0) | 2020.02.18 |