[RUBY-ON-RAILS] 레일 : (함께) 두 열의 유효성 검사 고유성
RUBY-ON-RAILS레일 : (함께) 두 열의 유효성 검사 고유성
내가 (다른 사람의 사이에서) 중간 및 국가 열 릴리스 모델을 가지고있다. 동일 매체 / 국가 조합을 공유 출시가 없어야합니다.
어떻게 레일 검증으로 이것을 쓰는 것?
해결법
-
==============================
1.당신은 범위 옵션과 고유성 검증을 사용할 수 있습니다.
당신은 범위 옵션과 고유성 검증을 사용할 수 있습니다.
또한, 기록되기 전에 동시에 검사 할 때 유효성 검사를 통과하는 새 레코드를 방지하기 위해 DB에 고유 인덱스를 추가해야합니다 :
class AddUniqueIndexToReleases < ActiveRecord::Migration def change add_index :releases, [:country, :medium], unique: true end end class Release < ActiveRecord::Base validates :country, uniqueness: { scope: :medium } end
-
==============================
2.위의 모든 답변은 모델에서 여러 속성의 고유성을 확인하는 방법을 누락되었습니다. 아래 코드는 범위에서 여러 속성을 사용하는 방법에 대해 이야기 할 예정이다.
위의 모든 답변은 모델에서 여러 속성의 고유성을 확인하는 방법을 누락되었습니다. 아래 코드는 범위에서 여러 속성을 사용하는 방법에 대해 이야기 할 예정이다.
validates :country, uniqueness: { scope: [:medium, :another_medium] }
그것은 중간 another_medium의 값을 가진 모든 행에 국가의 고유성을 확인합니다.
참고 : 음주이이 보험 빠른 검색, 위의 컬럼에 인덱스를 추가하는 것을 잊지 독특한 기록에 대한 DB 수준 유효성 검사를 추가하지.
-
==============================
3.이처럼 검증에 범위 매개 변수 : 당신은 전달할 수 있습니다 :
이처럼 검증에 범위 매개 변수 : 당신은 전달할 수 있습니다 :
validates_uniqueness_of :medium, scope: :country
몇 가지 더 많은 예제에 대한 설명서를 참조하십시오.
from https://stackoverflow.com/questions/34424154/rails-validate-uniqueness-of-two-columns-together by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 사양 / spec_helper.rb에서 사양 /의 rails_helper.rb의 다른 방법은 무엇입니까? 나는 그것을 필요합니까? (0) | 2020.02.28 |
---|---|
[RUBY-ON-RAILS] 어떻게 일부 HTML 루비 코드 주위 LINK_TO 포장합니까? (0) | 2020.02.28 |
[RUBY-ON-RAILS] 루비 온 레일즈 설치 - 맥 OS 라이온 (0) | 2020.02.28 |
[RUBY-ON-RAILS] https에서 http로 3 SSL 라우팅 리디렉션 레일 (0) | 2020.02.28 |
[RUBY-ON-RAILS] 오류 mysql2 보석으로 응용 프로그램을 설치하려고 할 때 (0) | 2020.02.28 |