2011-10-15 3 views

답변

4
User.email_equals("[email protected]").first.setting.update_attribute(:regular_info, false) 

은 (확인하는 편리한 콘솔을 가지고 있지만, 그 일을해야한다고 생각하지 않습니다 ..)

+0

큰 변화 할 수있는 방법을 알 수있는 방법은 없습니다! 고맙습니다! :) – tabaluga

4

나는 당신이 당신의 email_equals 방법을 정의 어떻게 모르겠지만, 레일 제공 첫 번째 일치를 반환하는 동적 속성 기반 검색 자 또는 찾을 수없는 경우 nil이 제공됩니다.

User.find_by_email("[email protected]").setting.update_attribute(:regular_info, false) 
+0

이것은 가장 좋은 답변입니다 (IMHO). – Mischa

+0

'find_by_email'과'settings' 메쏘드에 의해 반환 된'nil' 결과를 처리하기 위해'find'를 사용하십시오 : find_by_email ("[email protected]"). try (: setting) .try (: update_attribute, : regular_info, false)' –

+0

@KandadaBoggu,이 경우 nil을 처리하려면 try를 사용하지 않는 것이 좋습니다. 나는 find_by_email!을 사용하는 것을 선호한다. 그래서 예외를 구할 수 있었고, 대신에 조건으로 두 줄로 나눌 수 있었다. – Samnang

관련 문제