2

Heroku でホストされている Rails アプリにカスタム ドメインを CNAME することをユーザーに許可しようとしています。この記事に従おうとしましたが、コードを実行すると、ログに次のエラーが表示されます。

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

これは私の User モデルのコードです

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

基本的に、コードは記事とほぼ同じなので、どこが間違っているのかよくわかりません。どんな助けにも感謝します。

ありがとうございました。

4

0 に答える 0