【发布时间】:2011-12-28 06:40:03
【问题描述】:
在我的一个 Rails 应用程序中,我必须发送一封电子邮件。我刚刚配置了我的应用程序如下。
我正在使用 Rails v2.0。
环境.rb:
RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
Rails::Initializer.run do |config|
config.action_controller.session = {
:session_key => '_mailtest_session',
:secret => 'key_here'
}
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 25,
:domain => "gmail.com",
:authentication => :login,
:user_name => "mailid@mailid.com",
:password => "password"
}
ActionMailer::Base.default_content_type = "text/html"
end
models/notifier.rb:
class Notifier < ActionMailer::Base
def contact(recipient, subject, message, sent_at = Time.now)
@subject = subject
@recipients = recipient
@from = 'from@mail.com'
@sent_on = sent_at
@body["title"] = 'Signup Info'
@body["email"] = 'mail@mail.com'
@body["message"] = message
@headers = {}
return true
end
end
控制器/管理员
class AdministratorController < ApplicationController
def index
recipient = "tomailid@mail.com"
subject = "Subject"
message = "message"
Notifier.deliver_contact(recipient, subject, message)
end
end
当我尝试调用 index 方法时,我得到了这个错误:
Couldn't find template file for notifier/contact in ["D:/Rails/rails_apps/mailtest/app/views"]
请帮忙...
【问题讨论】:
-
你在那个视图目录中有什么文件?
-
为了测试我刚刚在我的views文件夹中创建了一个空白的contact.html.erb文件
标签: ruby-on-rails actionmailer ruby-on-rails-2