0
조건 before_save 콜백에 대한 메서드 호출을 부정하는 방법 나는이 콜백 있습니다레일 (5) 내 템플릿 모델에서
before_save :set_status, if: :is_template?
private
def is_template?
return self.template_type == 'template'
end
가 어떻게 그것을 변경할 수 있도록 단지가 터 template_type가 아닙니다 '템플릿 '?
나는이 시도 :1 before_save :set_status, if: !:is_template?
2 before_save :set_status, if: !(:is_template?)
을하지만 그들은 모두 원인 오류 '방법 before_save
를 찾을 수 없습니다'.
before_save :set_status, if: Proc.new {|model| !model.is_template? }
하지만 그 같은 간단한 경우에 과잉 보인다
이 this question를 읽을 데, 나는 또한이 시도.이 작업을 수행하려면 실제로 다른 방법 :is_not_template?
을 작성해야합니까?
을 시도해보십시오'before_save : set_status,하지 않는 : : is_template') – DivXZero
@DivXZero 그래서 명백한 당신이 그것을 볼 때. 나는 잊지 않고있다! 정말 고맙습니다! 답변으로 게시하고 나는 그것을 표시 할 것입니다. – rmcsharry