首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4-邮件程序找不到模板

Rails 4-邮件程序找不到模板
EN

Stack Overflow用户
提问于 2016-08-05 08:53:32
回答 2查看 734关注 0票数 0

我正在尝试学习如何使用rails邮件程序。

我做了一个邮件文件夹,里面有一个叫user_mailer.rb的文件夹。它有:

代码语言:javascript
复制
class UserMailer < ActionMailer::Base

    layout 'transactional_mailer'

  def user_invite

    mail(
      :subject => "You've been invited to join a research project team",
      :to  => 'test@tester.com',
      :from => 'test@tester.com'
      )
  end
end

在我的transactional_mailer.html.erb布局中,我有:

代码语言:javascript
复制
<!DOCTYPE html>
<%= yield %>

<style>

body {
    margin:0;
    padding:0
    }

</style>

然后,在我的视图/Users/user_invite.html.erb中

嗨,

当我保存所有这些内容并在我的控制台中尝试时,可以这样写:

代码语言:javascript
复制
UserMailer.user_invite.deliver_now

我得到了一个错误,它说:

代码语言:javascript
复制
UserMailer#user_invite: processed outbound mail in 65.4ms
ActionView::MissingTemplate: Missing template user_mailer/user_invite with "mailer". Searched in:
  * "user_mailer"

我不知道这个错误消息是什么意思,也不知道如何解决这个问题。有没有人看到我做错了什么?

我还尝试在我的视图目录下创建了一个名为'user_mailer‘的文件夹。在该文件夹中,我尝试添加一个名为user_invite.html.erb的文件--但也不起作用。

EN

回答 2

Stack Overflow用户

发布于 2016-08-05 09:09:27

问题出现了:

您必须将视图user_invite.html.erb放在views/user_mailer/user_invite.html.erb中,而不是views/users/user_invite.html.erb

如果您手动创建了邮件程序,请将其删除,然后从控制台尝试

代码语言:javascript
复制
$ rails g mailer user user_invite

然后在user_mailer文件夹中自动有一个名为user_invite的新定义和视图。

我希望它现在可以工作了

票数 0
EN

Stack Overflow用户

发布于 2016-08-05 16:03:04

尝试从您的应用程序邮件程序中定义布局。

代码语言:javascript
复制
class ApplicationMailer < ActionMailer::Base
  default from: 'Example <noreply@example.com>'
  layout 'transactional_mailer' #app/views/layouts/transactional_mailer.html.erb
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38779561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档