ProgramingTip

연관에 대한 우수 사례

bestdevel 2020. 11. 12. 19:26
반응형

연관에 대한 우수 사례


다음 상황을 상상해.

나는 dog모델과 house모델이 있습니다. 개는 집에 속할 수 있고 집에는 많은 개가있을 수 있습니다.

Class Dog <  ActiveRecord::Base
  belongs_to :house
end

Class House < ActiveRecord::Base
  has_many :dogs
end

이제 저도 집이없는 개를 만들고 싶다고 상상해보십시오. 그들은 그들의 집에 속하지 않습니다. 여전히 그 관계 구조를 사용할 수 있고 :house_id생성 할 때 알리지 않을 수 있습니까?

더 나은 방법이 있습니까?

Obs. :이 비유를 사용하여 문제를 단순화했지만 실제 상황은 다음과 될 수 있습니다. 사용자가 인스턴스를 생성 할 수 있습니다. 또한 인스턴스의 컬렉션을 만들 수 있습니다.


절대적으로로부터 접근이라고 생각합니다.

당신은 떠날 수 house_idnull기타에 속하지 않는 모델에 대한 데이터베이스에서 값입니다.


Rails 5에서 조심하세요 ...

belongs_to는 기본적으로 필수입니다.

이제부터 모든 Rails 애플리케이션은 새로운 구성 옵션 인 config.active_record.belongs_to_required_by_default = true를 사용하면 연관이없는 모델이 저장 될 때 유효성 오류가 발생합니다.

config.active_record.belongs_to_required_by_default는 false로 변경 될 수있는 이전 Rails 동작을 유지하거나 다음과 같이 추가 옵션 인 true를 전달하기 만하면 각 belongs_to 정의에서 유효성 검사를 할 수 있습니다.

class Book < ActiveRecord::Base
    belongs_to :author, optional: true
end

에서 : http://blog.michelada.io/whats-new-in-rails-5

참고 URL : https://stackoverflow.com/questions/10462676/best-practice-about-empty-belongs-to-association

반응형