Ruby on rails 向关注者发送电子邮件通知

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.

我想在用户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.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]