如何解决生产+ 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 举报,一经查实,本站将立刻删除。