반응형
Rails : 두 열의 고유성 확인 (함께)
및 기둥 이있는 Release
모델이 있습니다. 동일한 / 조합 을 공유 해서는 안됩니다 .medium
country
releases
medium
country
포장재를 사용하여 레일 유효성을 검사합니까?
옵션 과 함께 고유성 유효성 검사를 사용할 수 있습니다 scope
.
또한 고유 작성하기 전에 검사 할 때 새 레코드가 유효성 검사를 통과하지 못하도록 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
위의 모든 답변에는 모델에서 여러 속성의 고유성을 확인하는 방법이 없습니다. 아래 코드는 여러 속성을 사용하는 방법을 알려줍니다.
validates :country, uniqueness: { scope: [:medium, :another_medium] }
및 country
값이있는 모든 행에서의 고유성을 확인합니다 .medium
another_medium
참고 : 위 열에 강화를 추가하는 것을 잊지 않습니다. 이렇게하면 빠른 검색이 보장되고 고유 레코드에 대한 DB 수준 유효성 검사가 추가됩니다.
:scope
다음과 같이 유효성 검사기에있는 변수를 많은 수 있습니다 .
validates_uniqueness_of :medium, scope: :country
더 많은 예제 는 문서 를 참조하십시오 .
참고 URL : https://stackoverflow.com/questions/34424154/rails-validate-uniqueness-of-two-columns-together
반응형
'IT' 카테고리의 다른 글
프로그래밍 방식으로 자바 펼쳐 함수에 코드 추가 (0) | 2020.08.07 |
---|---|
버전 관리를 위해 태그와 릴리스 / 베타 관리를위한 이유는 무엇입니까? (0) | 2020.08.07 |
무선의 첫 문자가 숫자인지 어떻게 알 수 있습니까? (0) | 2020.08.07 |
이 프로젝트에 OutputPath 속성이 설정되어 있지 않습니다. (0) | 2020.08.07 |
http.Get에서 JSON 응답을 얻는 방법 (0) | 2020.08.07 |