【问题标题】:Rails Mailer call messes up controller routesRails Mailer 调用弄乱了控制器路由
【发布时间】:2016-07-14 07:26:51
【问题描述】:

我正在尝试在用户提交帖子时发送电子邮件。以下是我的创建操作在 post 控制器中的相关部分:

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 调用有问题吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 actionmailer


    【解决方案1】:

    想通了。我必须创建一个带有适当操作的新 PostMailer 控制器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-25
      • 2014-03-29
      • 2014-05-04
      • 2017-08-18
      • 2018-12-30
      • 2011-12-12
      • 2017-09-11
      • 1970-01-01
      相关资源
      最近更新 更多