Rails 尽管电子邮件发送正确,但查找 actionmailer 模板时出错

Rails error finding actionmailer template despite email sending correctly

我有一个 rails 应用程序 运行 用于带有邮件的乘客。我有它,所以操作后的页面显示电子邮件内容,但我收到此错误:

Missing template rfis/mail, application/mail with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :slim, :jbuilder]}. Searched in: * "/var/www/rqm3/app/views" * "/usr/local/rvm/gems/ruby-2.1.5/gems/devise-3.5.1/app/views" * "/usr/local/rvm/gems/ruby-2.1.5/gems/twitter-bootstrap-rails-3.2.0/app/views"

尽管如此,电子邮件在发送时确实正确加载了模板。它只是在导致问题的视图中显示它。

rfis_controller.rb:

  def mail
    @mail_message = RfiMailer.send_rfi(current_user, @rfi).deliver
  end

rfi_mailer.rb:

class RfiMailer < ApplicationMailer
    default from:"testemail@mail.com"
    def send_rfi(user, rfi)

        mail(to:"other@test.com")
    end
end

send_rfi.html.erb:

test

问题是由于您没有在方法中重定向任何内容 "mail" 在控制器中定义

 def mail
   @mail_message = RfiMailer.send_rfi(current_user, @rfi).deliver
   redirect_to @user, notice: "Message sent successfully ."
 end

你也可以定义 render nothing