비밀번호를 설정하여 계정을 활성화 할 때 사용자에게 전자 메일을 보내는 작동 방법이 있지만 어떤 이유로 작동하지 않습니다 역할 정수가 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)