2011-08-30 2 views

답변

4

배경 뒤에 주소 필드를 nil로 설정하는 경우에만 본질적으로 동일한 작업을 수행합니다.

+0

그건 제가 생각한 것입니다. my_obj.update_attributes {address_id : nil}는 어떻습니까? 관계가 어떻게 보존되는지에 대한 문제가 발생합니까? 우리는 못 박는 것처럼 보이지 않는 약간의 박편을 발견했습니다. – chrishomer

+0

여기에있는 내용은 매우 간단하며 문제의 근본 원인은 아닙니다. 어떤 종류의 박편이 보입니까? –

+0

외래 키 필드를 nil로 설정하고 주소 접근자를 nil로 설정하지 않으면 주소가 지워지지 않는 경우가 있습니다. – chrishomer

-1

스 니펫 2는 대량 할당 보안이 적용됩니다. More details are in the Rails security guide. 스 니펫 2도 skips validations and callbacks.

+0

스 니펫 2는 유효성 검사 및 콜백을 건너 뜁니다. 밸리데이션/콜백 스킵은'update_attributes'가 아닌 유일한 update_attribute를 사용할 때만 발생합니다. – BaronVonBraun

+0

또한 hes는 단지 주소를 매개 변수로 전달하기 때문에 대량 할당을받지 않습니다. – ADAM

1

전혀 차이가 없습니다. my_obj.update_attributes (params [: my_object])를 사용했다면 질량 할당을 처리 할 때 Spikes 응답이 정확할 수 있지만 스 니펫 2에서는 주소 속성을 동일하게 업데이트하기 만합니다.