>

모델에 콜백이 있습니다 :

before_validation :downcase_title, :populate_empty_fields
private
def downcase_title
  title
end
def populate_empty_fields
  title2 = title.split(',').first if !title2
end

하지만 작동하지 않습니다. 글쎄, 콘솔에서 값을 로그 아웃하면 데이터가 업데이트되었지만 (입력 ...) 모델이 저장된 후에는 변경 사항이 적용되지 않습니다.

예를 들어 첫 번째 방법은 다음과 같이 쓰면 작동한다는 것을 알았습니다

def downcase_title
  title.downcase
end

이 방법들에 어떤 문제가 있습니까?


  • 답변 # 1

    속성을 ​​변경하려면 self 를 추가해야합니다  속성 앞에 :

    def downcase_title
      self.title = title.downcase
    end
    def populate_empty_fields
      self.title2 = title.split(',').first if !title2
    end
    
    

관련 자료

  • 이전 외부 라이브러리의 유형을 정의하는 방법 TypeScript, Angular 및 Google Picker
  • 다음 java - O (n) 시간에 20을 곱한 두 숫자 찾기