레일즈 사용 3. 아래 코드의 첫 번째 스 니펫에 따라 메일러보기에서 부분 렌더링을 시도 할 때이 오류의 의미를 Google 검색하기가 어렵습니다.메일러보기에서 부분 렌더링을 시도 할 때 이상한 객체 문제가 발생했습니다.
ActionView::Template::Error (undefined method `long_date' for #<#<Class:0x00000102452ab0>:0x00000102440b30>):
가 여기 내 메일러 뷰의 (email_note.html.erb)
<div style="width:500px;">
<%= render :partial => "shared/note", :object => @note %>
</div>
이 내가 그 오류를 던지고 내 부분에 만들고있어 호출은 다음과 같습니다
이
오류입니다 < % = long_date (note.created_at) %>long_date는 다른 동작에서 부분적인 @note 객체를 지정한 경우 항상 작동했습니다 (예 : 'show '내 notes_controller). 이 날 (매우 가능성이 레일에
class UserMailer < ActionMailer::Base
default :from => "[email protected]"
def email_note(address,note_id)
@note = Note.find(note_id)
mail(:to => "#{address}", :subject => "Note from repository: #{@note.subject}")
end
end
인해 일부 보인다 방법
def long_date(date)
date.strftime('%A %b %e, %G')
end
여기
내 ActionMailer 클래스 (주소 및 note_id 내 notes_controller에 '이메일'액션에서 전송)입니다 내 부분에 대한 감독) 내 노트 객체를 내 노트 클래스로 해석하지 않지만 어떻게 수정해야할지 모르겠다. 도움을 많이 주시면 감사하겠습니다.
내가 추가 내 – gobb0
아래 DateTimeHelper을 포함한다 : 당신이 당신의 우편물 템플릿에서 헬퍼를 사용해야하는 경우 다음 ActionMailer 클래스의 모듈을 포함하십시오 Base 다음 오류가 발생합니다. NameError (초기화되지 않은 상수 UserMailer :: DateTimeHelper) : – gobb0
메일러 위에 파일이 필요할 가능성이 큽니다. 그게 효과가 있니? – joshnesbitt