u = User.email_equals("[email protected]").first
s = u.setting
s.regular_info = false
s.save
누군가가 더 짧게 작성하는 방법을 알고 있습니까? 아마도 한 줄에? 그것은 굉장 할 것입니다. 덕분에, 메르는 :)루비에서이 네 가지 명령어를 작성하는 가장 짧은 방법은 무엇입니까?
u = User.email_equals("[email protected]").first
s = u.setting
s.regular_info = false
s.save
누군가가 더 짧게 작성하는 방법을 알고 있습니까? 아마도 한 줄에? 그것은 굉장 할 것입니다. 덕분에, 메르는 :)루비에서이 네 가지 명령어를 작성하는 가장 짧은 방법은 무엇입니까?
User.email_equals("[email protected]").first.setting.update_attribute(:regular_info, false)
은 (확인하는 편리한 콘솔을 가지고 있지만, 그 일을해야한다고 생각하지 않습니다 ..)
큰 변화 할 수있는 방법을 알 수있는 방법은 없습니다! 고맙습니다! :) – tabaluga
나는 당신이 당신의 email_equals 방법을 정의 어떻게 모르겠지만, 레일 제공 첫 번째 일치를 반환하는 동적 속성 기반 검색 자 또는 찾을 수없는 경우 nil이 제공됩니다.
User.find_by_email("[email protected]").setting.update_attribute(:regular_info, false)
이것은 가장 좋은 답변입니다 (IMHO). – Mischa
'find_by_email'과'settings' 메쏘드에 의해 반환 된'nil' 결과를 처리하기 위해'find'를 사용하십시오 : find_by_email ("[email protected]"). try (: setting) .try (: update_attribute, : regular_info, false)' –
@KandadaBoggu,이 경우 nil을 처리하려면 try를 사용하지 않는 것이 좋습니다. 나는 find_by_email!을 사용하는 것을 선호한다. 그래서 예외를 구할 수 있었고, 대신에 조건으로 두 줄로 나눌 수 있었다. – Samnang
당신은 다음과 같은 질문에 태그를해야 레일을 사용하는 경우 , 그렇지 않으면 코드가 – Gareth