生产+ Passanger中的DelayedJob的未定义方法

问题描述

下午好! 我在生产中遇到诸如DelayedJob之类的问题,他会无限期地回到我身边……但是在localhost上,它做得很好。如果您能提供帮助,我会非常感谢您,我已经尝试了几种方法,但它并不能使错误发生。

在控制器中

  def gerar_boletos_remessa
    unless params[:ids].blank?
      @lancamentos = Lancamento.where(id: params[:ids])
      @lancamentos.each do |lancamento|
        valor = lancamento.valor.to_s.gsub('.','').gsub(',','.')
        if (lancamento.desconto_pontualidade.to_s.gsub('.','.').to_i > 0) || (lancamento.desconto_pontualidade != '')
          desconto = lancamento.desconto_pontualidade.to_s.gsub('.','.')
          code = '1'
          date = lancamento.data_vencimento.to_date
        else
          desconto = '0.0'.to_f
          code = '0'
          date = ''
        end
        if lancamento.cliente.cpf != ''
          @a = 'CPF'
          @b = lancamento.cliente.cpf.to_s.gsub('.','').gsub('-','').to_s.gsub('-','').gsub('/','')
        else
          @a = 'CNPJ'
          @b = lancamento.cliente.cnpj.to_s.gsub('.','')
        end
        
          url = conta.url_production
          body = "{\"amount\": \"#{valor}\",\"dueDate\": \"#{lancamento.data_vencimento.to_date}\",\"description\": \"#{lancamento.descricao}\",\"discount\": {
                          \"code\": \"#{code}\",\"date\": \"#{date}\",\"percentage\": \"0\",\"amount\": \"#{desconto}\"
                      },\"interest\":{
                          \"code\": \"2\",\"percentage\": \"2\",\"amount\": \"0\"

                      },\"fine\":{
                          \"code\": \"1\",\"date\": \"#{(lancamento.data_vencimento + 1.day).to_date}\",\"amount\": \"2.00\"
                      },\"payer\": {
                        \"name\": \"#{lancamento&.cliente&.name}\",\"document\": \"#{@b}\",\"address\": {
                        \"zipCode\": \"#{lancamento.cliente.endereco.cep.blank? ? '--' : lancamento.cliente.endereco.cep.gsub(' ','').gsub('.','')}\",\"address\": \"#{lancamento.cliente.endereco.rua.blank? ? '--' : lancamento.cliente.endereco.rua}\",\"number\": \"#{lancamento.cliente.endereco.numero.blank? ? '--' : lancamento.cliente.endereco.numero}\",\"neighborhood\": \"#{lancamento.cliente.endereco.bairro.blank? ? 'centro' : lancamento.cliente.endereco.bairro}\",\"complement\": \"#{lancamento.cliente.endereco.complemento.blank? ? '' : lancamento.cliente.endereco.complemento}\",\"city\": \"#{lancamento.cliente.endereco.cidade.blank? ? '--' : lancamento.cliente.endereco.cidade}\",\"state\": \"#{lancamento.cliente.endereco.blank? ? '--' : lancamento.cliente.endereco.uf}\"
                         }
                       },\"generateHtml\": true
                     }"
        authorization = "#{conta.login}:#{conta.token}"
        empresa = current_empresa.id
        lancamento.delay.remessa("#{authorization}","#{url}","#{body}","#{lancamento.id}",empresa)
      end
    end
    respond_to do |format|
      format.js
    end
  end

在模型中

  def remessa(authorization,url,body,lancamento,empresa)
    
    @boletos = BoletoService.new(authorization.to_s,url.to_s).generate_billet(body)
    @payment = BoletoService.parse(@boletos)
    unless @payment.blank?
      if @payment['errorId'].to_i > 0
        self.update(moip: @payment,error_boleto: true,error_id_boleto: @payment['errorId'].to_i,error_message_boleto: @payment['message'].to_s)
      else
        date = Time.now.strftime("%Y-%m-%d %H:%M:%S")
        empreendimento = true if empresa.to_i != 1
        self.update(moip: @payment,boleto_gerado: true,codigo: @payment['ourNumber'].to_i,data_geracao_boleto: date,boleto_empreendimento: empreendimento)
      end
    end
  end

工作中的错误

undefined method `remessa' for Lancamento:Class

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)