현재 사용자가보기 양식에 숫자를 입력 할 때마다 1 씩 증가시키는 컨트롤러 메소드가 있습니다. 코드와 오류를 보여 드리겠습니다. 여기에 충분한 배경을 제공하고 싶습니다. 그래서,이 모델은 subscriber
을 생성하는 다른 폼을 가지고 있지만이 모델은 이름과 전화 번호를 취하지 만 int 데이터 유형 인 방문 속성도 가지고 있습니다. 그래서 저에게 문제를주고있는 제어기 방법은, 그것의 기능은 구독자에 대한 방문을 그 구독자에 붙어있는 번호를 찾아서 증가시키는 것입니다. 그러나 사용자가 자신의 전화 번호를 입력 할 때이 오류는 nil에 대해 정의되지 않은 메서드 인 '+'를 던집니다. NilClass와 나는 그것을 해결하는 방법에 정말로 혼란스러워했습니다. 여기 명확성을위한 제 코드가 있습니다.정의되지 않은 메소드 '+'for nil : NilClass - Ruby
CONTROLLER :
def visit
@subscriber = Subscriber.find_by_phone_number(params[:phone_number])
if @subscriber
@subscriber.visit += 1
@subscriber.save
flash[:notice] = flash[:notice] = "Thank You #{@subscriber.first_name}. You have #{@subscriber.days_till_expired} until renewal"
redirect_to subscribers_search_path(:subscriber)
else
render "search"
end
end
ERROR : 제가 적용하는 다른 어떤 코드를 잘 모르겠어요
? 더 많은 정보가 필요하면 알려주세요. 고맙습니다.
'@ subscriber'의 값, 특히'@ subscriber.value'를 확인하십시오. 가능성이 높습니다. 그런 다음'@ subscriber'를 생성하는 코드를 보여주고,'@ subscriber.value'가 초기화되는 방법에 대한 가정을 점검하십시오 (아마도 그렇지 않습니다). – Amadan