我试图在用户提交帖子时发送电子邮件。这里是我在帖子控制器中创建动作的相关部分:
if @post.save
UserMailer.alert_response(@post, @user).deliver
respond_to do |format|
format.js { render layout: false, content_type: 'text/javascript' }
end
else
respond_to do |format|
format.js { render layout: false, content_type: 'text/javascript' }
end
# redirect_to root_url
end
我已经获得了一个create.js.erb文件,无论帖子是否保存,该文件都会被呈现。我的UserMailer控制器中的alert_response方法如下所示:
def alert_response(post, user)
@response_post = post
@parent = post.parent
@parent_user = @parent.user
@user = user
mail to: @parent_user, subject: "Someone Responded to Your Post"
end
当我在创建操作中不包含UserMailer.alert_upvotes(@ post,@ user).deliver时,一切正常。将呈现create.js.erb文件,即全部。当我包含它时,create.js.erb文件永远不会呈现,并且由于某种原因,我的post控制器的索引操作被触发并且索引视图被呈现。我的UserMailer电话有问题吗?
答案 0 :(得分:0)
想出来。我不得不创建一个新的PostMailer控制器,其中包含相应的操作。