2011-02-02 3 views
1

이 도우미 메서드를 만들었습니다. 내 견해로는 days_left(duedate)으로 부릅니다. 나는 정말로 내 도우미를 좋아하지 않는다. self과 함께 사용할 수 있습니까? 나는 자기가 어떻게 사용되고 있는지를 정말로 모르기 때문에. 자바 또는 자바 스크립트에서 this과 같은가요? 어떤 대상과 관련이 있습니까? 이 방법을 자유롭게 조정하십시오. 당신의 시간 Thx!자기 도우미 방법에 대한 질문은

def days_left(duedate) 
    (if duedate.date == Date.today 
    "Today" 
    elsif duedate.date-Date.today < 1 
    "expired" 
    elsif duedate.date-Date.today == 1 
    "Tomorrow" 
    else 
    "#{(duedate.date-Date.today).to_i}" 
    end).to_s.html_safe 
end 
+1

자기가 모델의 객체와 관련이 있습니다. 나는 당신이 그것을 거기에서 사용할 수있는 방법을 안다. – apneadiving

+0

당신은 답장을 위해 http://apidock.com/rails/ActionView/Helpers/DateHelper/distance_of_time_in_words – apneadiving

+0

thx의 vod를 보셨습니까? 그래서 Model Object는'@duedate = Duedate.new'와 같은 액션 new에서 생성 한 객체입니까? 내가 어떻게 '자기'를 그걸로 쓸 수 있을까? – daniel

답변

1

이 방법을 모델로 옮겨보십시오.

'first_name'및 'last_name'속성이있는 모델에 'full_name'메소드를 추가하는 것과 유사합니다. 데이터베이스에 'full_name'을 별도로 저장하지 않을 것입니다. 중복, 비정규 화 된 데이터가 될 수 있기 때문입니다. 예를 들어

:

class Employee < ActiveRecord::Base 
    def full_name 
     "#{first_name} #{last_name}" 
    end 
end 

그래서 당신은 유사은 기존 데이터 속성의 친숙한 버전을 추가 있기 때문에 거기에 맞는 모델,에 'DAYS_LEFT'방법을 추가 할 수 있습니다.

+0

내 방법에 이것을 적용하는 방법을 알지 못한다. – daniel

관련 문제