Ruby on rails 向关注者发送电子邮件通知
我想在用户y开始跟踪用户x时向用户x发送电子邮件通知 我的控制器中有以下方法:Ruby on rails 向关注者发送电子邮件通知,ruby-on-rails,Ruby On Rails,我想在用户y开始跟踪用户x时向用户x发送电子邮件通知 我的控制器中有以下方法: class FollowsController < ApplicationController before_action :authenticate_user! def create @user = User.find(params[:id]) if @user.present? current_user.follow!(@user) ModelMailer.
class FollowsController < ApplicationController
before_action :authenticate_user!
def create
@user = User.find(params[:id])
if @user.present?
current_user.follow!(@user)
ModelMailer.new_follower_notification(@user).deliver
end
end
def destroy
@user = User.find(params[:id])
if @user.present?
follow = current_user.follows.get_follow(@user).first if current_user.follows
if follow
follow.destroy
end
end
respond_to do |format|
format.js { render :file => "/follows/create", :handlers => [:erb] }
end
end
end
在我的视图文件夹中,我有一个create.js.erb文件
<% if @user %>
$('#user_<%= @user.id %>').html('<%= escape_javascript(render :partial => 'users/user', :locals => { :user => @user }) %>');
<% end %>
我试图触发模型邮件程序,但是这样做会导致错误。我想这是因为我在这里使用JSON。有人建议谁来解决这个问题吗?请显示触发邮件程序的代码以及邮件程序本身的代码。我已将代码添加到帖子中。提前感谢您的帮助!谢谢。现在,您得到的错误是什么?它发生在哪里?follow按钮不再工作,至少我必须重新加载页面以使其工作。那么JSON不再工作了什么JSON?我在你发布的代码中没有看到任何内容。
<% if @user %>
$('#user_<%= @user.id %>').html('<%= escape_javascript(render :partial => 'users/user', :locals => { :user => @user }) %>');
<% end %>
match '/users/:id/follow' => 'follows#create', :as => :user_follow, :via => [:post]
match '/users/:id/unfollow' => 'follows#destroy', :as => :user_unfollow, :via => [:delete]