제 모델에는 is_a
, is_b
및 is_c
과 같은 속성이 있습니다. 기본적으로 모두 null입니다.속성을 설정하는 일반적인 방법
API를 설정해야합니다. 이러한 속성은 엄격하게 하나 또는 그룹으로 설정할 수 있습니다. API를 작성하려면 다음을 수행 할 것입니다.
def set_as_a # strictly a
self.update_attributes!(:is_a => true, :is_b => false, :is_c => false)
end
def set_as_b # strictly b
self.update_attributes!(:is_a => false, :is_b => true, :is_c => false)
end
... # strictly c
def set_as_a_and_b # a and b
self.update_attributes!(:is_a => true, :is_b => true, :is_c => false)
end
..... # so on
이 방법은 효과가 있지만 효과가 없습니다. 또한 앞으로 세트에 3 개 이상의 속성이있는 경우 더 많은 반복 코드가 발생합니다. 이것을 달성하는 올바른 우아한 방법은 무엇입니까? 내가 해낸
그러나 도메인 내에서이 개념은 '... enabled' 정도 같은 이름이 있어야 고르세요. 아니면 그게 정말 사실입니까? – slowjack2k