I'm trying to use actionmailer to notify me when a new comment has been posted but I keep getting the error:
uninitialized constant CommentsController::CommentMailer
The comment is added to my database and can be viewed. I am also using devise and it's email functions are working fine.
My comment mailer:
class CommentMailer < ActionMailer::Base
def newcomment(comment)
mail(:to => "[email protected]", :subject => "New Comment")
end
end
and my controller section:
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
This can also happen if you name your mailer file wrong. UserMailer.rb
will break whereas user_mailer.rb
is what is expected.
OK my bad, I had to restart my rails application after I added the mailer. It is working fine now
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With