Rails ActionMailer 模板更新未生效
Rails ActionMailer template updates not taking effect
我正在对我未参与创建的 Rails 网站进行更改。此站点有一个供新用户注册的表单,该表单会生成一封电子邮件给可以批准新帐户的管理员。
当更改这些电子邮件的模板时,生成的电子邮件的内容不会更改。 如何使电子邮件模板的更改生效?
我是 Rails 的新手,所以我可能遗漏了一些明显的东西。我相信这些是相关文件:
app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: 'webmaster'
def new_user_notification_mailer(user, admin_email)
@user = user
mail(to: admin_email, subject: 'New User Registration')
end
end
app/workers/send_new_user_notification_worker.rb
class SendNewUserNotificationWorker
include Sidekiq::Worker
def perform(user_id)
user = User.find(user_id)
if user
User.is_admin.each do |admin|
if admin.email
UserMailer.new_user_notification_mailer(user, admin.email).deliver
end
end
end
end
end
app/views/user_mailer/new_user_notification_mailer.html.slim
doctype html
html
head
meta content='text/html; charset=UTF-8' http-equiv='Content-Type'
body
p
| New user
b #{@user.first_name} #{@user.last_name}
| has registered on the web site.
| You can
= link_to "Manage", edit_admin_user_url(@user)
| this account from admin panel.
我一直在用这个重新启动服务器(工作副本的):
RAILS_ENV=production bash -c 'bundle exec rake assets:clean; bundle exec rake bower:resolve; bundle exec rake assets:precompile'; kill `cat tmp/pids/server.pid`; nohup bundle exec rails s -e production -p 4000 1>> log/rails.sever.log 2>> log/rails.server.err.log &
您还需要重新启动 sidekiq 进程。它将重新加载您的 rails 环境和 sidekiq 进程的代码更改。在此之后,您的更改应该会反映出来。
我正在对我未参与创建的 Rails 网站进行更改。此站点有一个供新用户注册的表单,该表单会生成一封电子邮件给可以批准新帐户的管理员。
当更改这些电子邮件的模板时,生成的电子邮件的内容不会更改。 如何使电子邮件模板的更改生效?
我是 Rails 的新手,所以我可能遗漏了一些明显的东西。我相信这些是相关文件:
app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: 'webmaster'
def new_user_notification_mailer(user, admin_email)
@user = user
mail(to: admin_email, subject: 'New User Registration')
end
end
app/workers/send_new_user_notification_worker.rb
class SendNewUserNotificationWorker
include Sidekiq::Worker
def perform(user_id)
user = User.find(user_id)
if user
User.is_admin.each do |admin|
if admin.email
UserMailer.new_user_notification_mailer(user, admin.email).deliver
end
end
end
end
end
app/views/user_mailer/new_user_notification_mailer.html.slim
doctype html
html
head
meta content='text/html; charset=UTF-8' http-equiv='Content-Type'
body
p
| New user
b #{@user.first_name} #{@user.last_name}
| has registered on the web site.
| You can
= link_to "Manage", edit_admin_user_url(@user)
| this account from admin panel.
我一直在用这个重新启动服务器(工作副本的):
RAILS_ENV=production bash -c 'bundle exec rake assets:clean; bundle exec rake bower:resolve; bundle exec rake assets:precompile'; kill `cat tmp/pids/server.pid`; nohup bundle exec rails s -e production -p 4000 1>> log/rails.sever.log 2>> log/rails.server.err.log &
您还需要重新启动 sidekiq 进程。它将重新加载您的 rails 环境和 sidekiq 进程的代码更改。在此之后,您的更改应该会反映出来。