1
before_save 레일에서 작동하지 :콜백 함수 내가 모델에 다음과 같은 한
before_save :set_defaults
def set_defaults
self.num_results ||= 5
end
그리고 나는 이런 식으로 내 컨트롤러에서 개체를 만들 : 내가 설정하지 않은 경우에도
Search.create!( :keyword => params[:keyword],
:ip_address => request.remote_ip,
:referring_page => request.referer)
을 num_results
의 값은 여전히 0
(DB 스키마의 기본값)으로 저장됩니다. 콜백 함수가 전혀 호출되지 않습니다. 모든 단서?
업데이트 :
나는이 문제에, 전화를받을 않습니다 콜백을 밝혀 : 나는 루비의 기본 값을 설정하는 것이 어떻게
self.num_results ||= 5
? 이것이 작동하지 않는 것 같습니다.
그러나 모델에 0을 설정하지 마십시오 (db 스키마 정의에만 있음). 아무 것도 명시 적으로 설정되지 않은 경우 값을 입력하는 방법이 있습니까? – user1049097
마이그레이션 중에이 기본값보다 더 높은 기본값을 정의한 경우 개체가 초기화 될 때 설정됩니다. 모델에서 다시 설정하지 않아도됩니다. – auralbee