사용자가 다른 사용자의 댓글에 응답 할 때마다 현재 이메일을 성공적으로 보내는 레일 메일러가 있습니다. (이메일은 답장을받은 사람에게 전달됩니다). 나는 응답 한 사람의 사용자 이름과 그 사용자의 코멘트 자체와 같이 이메일 본문에 동적 인 내용을 추가하려고합니다. new_reply.html.erb 뷰 내에서 해당 특정 설명을 잡아 내 전자 메일에 올바르게 표시되도록하는 방법을 잘 모르겠습니다. 내 코드는 다음과 같습니다.레일 메일러 - 메일러보기에서 인스턴스 변수에 액세스 할 수 없습니다.
views/comment_mailer/new_reply. html.erb (이메일 내용)
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<table width="100%">
<h2 style="color: #428bca">You have a new reply.</h2>
<p>Someone replied with the following comment...</p>
<p><%= comment.body %></p>
<p>To reply back, login to the app...</p>
</table>
</body>
</html>
보기/의견/_comment.html.erb (응용 프로그램의 실제 코멘트보기)
<div class="well">
<p class="text-muted">Added on
<%= l(comment.created_at, format: '%B, %d %Y %H:%M:%S') %></p>
<blockquote>
<p><%= comment.body %></p>
<p><%= link_to 'reply', new_comment_path(comment.id) %></p>
</blockquote>
</div>
우편물/comment_mailer.rb (내 댓글 메일러)
class CommentMailer < ApplicationMailer
default from: "[email protected]"
def new_reply(parent_comment)
owner = parent_comment.owner
mail(to: owner.email, subject: 'New reply to one of your comments')
end
end
컨트롤러/model_comments_controller.rb (이 의견 컨트롤러) 메일러의 new_reply
방법에서
def create
@taskrelationship = commentable_type.constantize.find(commentable_id)
@project = @taskrelationship.taskproject
@new_comment = Comment.build_from(@taskrelationship, current_user.id, body)
if @new_comment.save
# create the notification
(@taskrelationship.taskproject.followers.uniq - [current_user]).each do |user|
Notification.create(recipient: user, actor: current_user, action: "posted", notifiable: @new_comment)
end
make_child_comment
end
render 'projects/show_project_task_comments', layout: false
end
private
def make_child_comment
return if comment_id.blank?
parent_comment = Comment.find comment_id
@new_comment.move_to_child_of(parent_comment)
CommentMailer.new_reply(parent_comment).deliver
end
고마워 ... 본질적으로 단지 @comment = Comment.last – BB500
나는 그걸 시도해 본 다음
<% = @ comment.body %>
템플릿에 있지만 작동하지 않습니다. 죄송합니다. 조금 피곤합니다. 바보 같은 것을 놓치고 있다는 것을 알아요. – BB500disregard ... 나는 단지 'mail'라인 다음에 위치해야한다. 도와 주셔서 감사합니다. – BB500