0
我有一个工作方法,当用户通过设置密码激活帐户时向用户发送电子邮件,但由于某种原因它不与我的票据模型方法发送给角色整数为2的用户。票据被创建,但是,我似乎无法使用after_create:method_name来发送电子邮件。当用户提交新票时发送电子邮件给管理员不发送
控制台中有一个错误,似乎是一个生成的错误代码,可能是ActionMailer的问题,但它很难用我得到的所有回报来诊断。
任何帮助,非常感谢!提前致谢!
# /mailers/user_mailer.rb
#################################
def new_ticket(ticket)
@ticket = ticket
mails = User.where(:role => 2)
mail(:to => '[email protected]', :bcc => mails, subject: "New Ticket Submitted by: #{@user.email}")
end
# /models/ticket.rb
#################################
class Ticket < ActiveRecord::Base
belongs_to :user
belongs_to :category
belongs_to :ticket_status
has_many :comments, :dependent => :destroy
validates_presence_of :title, presence: true
validates_presence_of :description, presence: true
validates_presence_of :user_id, presence: true
validates_presence_of :category_id, presence: true
validates_presence_of :ticket_status_id, presence: true
def after_create
send_ticket_notifier
super
end
private
def send_ticket_notifier
UserMailer.new_ticket(@ticket).deliver
end
end
控制台
SQL (0.4ms) INSERT INTO "tickets" ("category_id", "created_at", "description", "ticket_status_id", "title", "updated_at", "user_id") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id" [["category_id", 5], ["created_at", "2014-11-24 00:25:53.892400"], ["description", "asdfasdf"], ["ticket_status_id", 8], ["title", "asdfasd"], ["updated_at", "2014-11-24 00:25:53.892400"], ["user_id", 25]]
(14.6ms) COMMIT
Redirected to http://localhost:3000/tickets
#<ActiveModel::Errors:0x00000007230d28 @base=#<Ticket id: 30, title: "asdfasd", description: "asdfasdf", user_id: 25, category_id: 5, created_at: "2014-11-24 00:25:53", updated_at: "2014-11-24 00:25:53", ticket_status_id: 8>, @messages={}>
Completed 302 Found in 23ms (ActiveRecord: 15.6ms)