Rails 3 Action Mailer неинициализированная константа - PullRequest
5 голосов
/ 14 февраля 2012

Я пытаюсь использовать actionmailer, чтобы уведомлять меня о публикации нового комментария, но я получаю сообщение об ошибке:

uninitialized constant CommentsController::CommentMailer

Комментарий добавлен в мою базу данных и его можно просмотреть.Я также использую devise, и его функции электронной почты работают нормально.

Мой почтовый комментарий:

class CommentMailer < ActionMailer::Base
  def newcomment(comment)
  mail(:to => "admin@example.com", :subject => "New Comment")  
  end  
end

и мой раздел контроллера:

def create
  @comment = Comment.new(params[:comment])
  @comment.user_id = current_user.id

respond_to do |format|
  if @comment.save
    CommentMailer.newcomment(@comment).deliver
    format.html { redirect_to @comment, notice: 'Comment was successfully created!' }
    format.json { render json: @comment, status: :created, location: @comment }
  else
    format.html { render action: "new" }
    format.json { render json: @comment.errors, status: :unprocessable_entity }
  end
 end
end

Ответы [ 2 ]

13 голосов
/ 06 февраля 2013

Это также может произойти, если вы неверно назвали свой почтовый файл.UserMailer.rb сломается, тогда как user_mailer.rb - это то, что ожидается.

3 голосов
/ 14 февраля 2012

ОК, мой плохой, мне пришлось перезапустить приложение rails после того, как я добавил почтовую программу.Сейчас работает нормально

...