我试图让我的用户将他们的自定义域 CNAME 到我托管在 Heroku 上的 Rails 应用程序中。我试图关注这篇文章,但是当我运行代码时,我的日志中出现了这个错误:
WARN: NameError: 未初始化的常量 HerokuDomainJob::Heroku
这是我在 heroku_domain_job.rb 中的代码
require 'platform-api'
class HerokuDomainJob < ApplicationJob
queue_as :default
def perform(domain, action)
heroku = PlatformAPI.connect_oauth(ENV['HEROKU_API_KEY'])
begin
case action
when "add"
heroku.domain.create(my_app_name, "hostname" => domain)
when "remove"
heroku.domain.delete(my_app_name, domain)
end
rescue Heroku::API::Errors::RequestFailed => e
Rails.logger.error "[Heroku Domain Worker] ERROR: #{e}"
end
end
end
这是我的用户模型中的代码
class User < ApplicationRecord
after_save :update_heroku_domains
...
private
def update_heroku_domains
if self.domain_changed? && self.domain_was.present?
HerokuDomainJob.perform_later(self.domain_was, "remove")
end
HerokuDomainJob.perform_later(self.domain, "add")
end
end
本质上,代码与文章中的代码几乎相同,所以我真的不明白我哪里弄错了。感谢任何帮助。
谢谢你。