发送电子邮件时不会在数据库中保留任何内容

时间:2017-07-06 00:28:54

标签: ruby-on-rails ruby

在我的rails应用程序中,我希望我的客户端可以直接从页面通过电子邮件发送一些信息。所以到现在为止创建了一个控制器,视图和具体路线。
我能够找到的每个教程都将动作邮件放在create方法或更新上。在这种情况下,我只在页面上输入一些输入并提交按钮。 可以这样做吗?

控制器名称:contato_controller

视图:contato / index.html.erb

我还根据我发现的另一个问题在Production.rb上设置了配置:

  config.action_mailer.smtp_settings = {
     address: "smtp.gmail.com",
     port: 587,
     domain: 'localhost',
     user_name: 'username',
     password: 'password',
     authentication: 'plain',
     enable_starttls_auto: true
  }

1 个答案:

答案 0 :(得分:4)

ActionMailer不需要,也不使用数据库。它只需要一个Notifier类来触发电子邮件。这包含在ActionMailer guide

请注意,除非您在代码中涉及模型,否则控制器中的createupdate方法也不会链接到任何类型的数据库。只有按惯例,create实际上创建了数据库条目,它不是一个硬性要求,也不是自动完成的。

这些只是作为REST接口的一部分创建的默认端点。 create可以在您提交表单时发送电子邮件,也可以将呼叫转发给某个API。这完全取决于你。