Tengo un helper que crea mis index
y de la nada dejo de funcionar, deshice los ultimos cambios pero aun
asi no se arreglo.
Alguna idea?
el
index.html.rb que llama al helper es:
<%=
cps = [“folio”,“contrato.folio”,“contratocomercio.codigo_comercio”,
“nomina.folio”,
“fecha”, “trxs”,“monto”, “md_pct”, “md_pct_emisor”,
“md_pct_operadora”,
“md_pesos”, “md_pesos_emisor”, “md_pesos_operadora”,
“valor_trx”, “total_valor_trx”]
sz = [8, 4, 5, 17, 12, 7, 12, 6, 6, 6, 10, 10, 10,5,10]
if (@txtsql[“nomina.folio”].blank? ||(!
@txtsql[“contrato.folio”].blank?) ||
(! @txtsql[“contratocomercio.codigo_comercio”].blank?) ||
(! @txtsql[“fecha”].blank?) || (! @txtsql[“trxs”].blank?) ||
(! @txtsql[“monto”].blank?) ||(@contdepositos.size == 0))
listado(@contdepositos,
{:cps => cps,
:size => sz,
:ttl => t(:contdeposito, :count => @contdepositos.size),
:cls => Contdeposito})
else
listado(@contdepositos,
{:cps => cps,
:size => sz,
:ttl => t(:contdeposito, :count => @contdepositos.size),
:cls => Contdeposito,
:enc_link_esp => link_to( image_tag(‘delete.png’),
“contdepositos/” + @txtsql[“nomina.folio”],
:confirm => ‘¿ Esta ud seguro ?’,
:method => :delete,
:title => “Eliminar
contabilizacion(2) de una nomina completa”)
})
end
%>
mi helper es el siguiente:
laparte que dejo de funcionar:
Methods added to this helper will be available to all templates in
the application.
module ApplicationHelper
def listado( registros, otro )
campos = otro[:cps]
sizes = otro[:size]
clase = otro[:cls]
edit_path = otro[:edit_path].nil? ? “” : otro[:edit_path]
new_title = otro[:new_title].nil? ? “Crear un registro” :
otro[:new_title]
edit_title = otro[:edit_title].nil? ? “Modifica este registro.” :
otro[:edit_title]
if otro[:delete_path]
delete_title = otro[:delete_title]
delete_path = otro[:delete_path]
end
ad = []
if otro[:adicional_mono]
ad << {:mono => otro[:adicional_mono],
:titulo => otro[:adicional_titulo],
:path => otro[:adicional_path]}
elsif otro[:adicional]
if otro[:adicional].is_a?(Array)
ad += otro[:adicional]
elsif otro[:adicional].is_a?(Hash)
ad << otro[:adicional]
end
end
# encabezados especiales
enc_ad1_path = otro[:enc_ad1_path]
enc_ad1_titulo = otro[:enc_ad1_titulo]
enc_ad1_mono = otro[:enc_ad1_mono]
enc_ad2_path = otro[:enc_ad2_path]
enc_ad2_titulo = otro[:enc_ad2_titulo]
enc_ad2_mono = otro[:enc_ad2_mono]
enc_ad3_path = otro[:enc_ad3_path]
enc_ad3_titulo = otro[:enc_ad3_titulo]
enc_ad3_mono = otro[:enc_ad3_mono]
color_txt_fld = otro[:color]
# Fin encabezados especiales
s = %Q!\n#{otro[:ttl]}\n!
# Titulos
campos.each {|cp| s += %Q!\n
clase.human_attribute_name(cp).gsub(/./,"
")}
s += “
s += %Q!#{ link_to image_tag(‘add.png’), otro[:new_path], :title
=> new_title }! if otro[:new_path]
s += %Q!#{ link_to image_tag(enc_ad1_mono), enc_ad1_path, :title
=> enc_ad1_titulo}! if enc_ad1_path
s += %Q!#{ link_to image_tag(enc_ad2_mono), enc_ad2_path, :title
=> enc_ad2_titulo}! if enc_ad2_path
s += %Q!#{ link_to image_tag(enc_ad3_mono), enc_ad3_path, :title
=> enc_ad3_titulo}! if enc_ad3_path
s += otro[:enc_link_esp] if otro[:enc_link_esp]
s += %Q!
otro[:save_path] = clase.name.pluralize.downcase if
otro[:save_path].nil?
otro[:save_path] = otro[:save_path][1…-1] if
otro[:save_path][0,1] =="/"
s += %Q!<form action="/#{otro[:save_path]}" method="get">!
s += %Q!<input name="authenticity_token" type="hidden"
value="#{form_authenticity_token}" />!
s += %Q!\n
campos.each_index do |ind|
cp = campos[ind]
if (not sizes.blank?) && (not sizes[ind].blank?)
s += %Q!\n
}
else
s += %Q!\n
end
end
s += %Q!\n
s += %Q!\n
registros.each do |registro|
s += %Q!<tr class="#{ cycle('odd','par')}">!
campos.each_index do |indice|
cp = campos[indice]
v = eval("registro."+cp)
td = "\n<td>"
txt = ""
if color_txt_fld[indice]
prcc = color_txt_fld[indice]
txt += %Q!<font color="#{prcc.call(v, registro)}">!
end if color_txt_fld
if v.is_a?(String)
txt += h(v)
elsif cp =~ /folio/i # Los folios no llevan punto de
separacion de miles
td = %Q!\n
txt += v.to_s
elsif cp =~ /pct/i
td = %Q!\n
txt += number_to_currency(v*100.0, :unit => ‘%’, :precision
=> 2, :delimiter => ‘’)
elsif v.is_a?(Float) || v.is_a?(BigDecimal)
td = %Q!\n
txt += number_to_currency(v, :unit => ‘’, :precision => 2,
:delimiter => ‘.’)
elsif v.is_a?(Fixnum) || v.is_a?(Bignum)
td = %Q!\n
txt += number_to_currency(v, :unit => ‘’, :precision => 0,
:delimiter => ‘.’) <---------------------------ACA SE CAE
elsif v.is_a?(Date)
txt += v.to_s(:my_date)
elsif v.is_a?(ActiveSupport::TimeWithZone)
txt += v.to_s(:my_time)
elsif v.is_a?(FalseClass)
txt += check_box_tag(cp, value = “0”, checked = false,
options = {:disabled => true})
elsif v.is_a?(TrueClass)
txt += check_box_tag(cp, value = “1”, checked = true,
options = {:disabled => true})
end
txt += %Q!! if color_txt_fld[indice] if color_txt_fld
s += td + txt + “
end
s += "\n
s += link_to( image_tag('book_edit.png'),
edit_path.call(registro), :title => edit_title) if
edit_path.is_a?(Proc)
if delete_path
if delete_path.is_a?(String)
s += link_to( image_tag('delete.png'), registro, :confirm =>
‘¿ Esta ud seguro ?’, :method => :delete, :title => delete_title)
else
s += link_to( image_tag(‘delete.png’),
delete_path.call(registro), :confirm => ‘¿ Esta ud seguro ?’, :method
=> :delete, :title => delete_title)
end
end
ad.each do |adic|
s += link_to( image_tag(adic[:mono]),
adic[:path].call(registro), :title => adic[:titulo])
end
s += “
end
s += “\n”
s
end
puede ser un problema en la base de datos?
deberas no se que paso.
Reinicie todo y nada.
Puse <-----------------------ACA SE CAE donde falla
Y el log dice:
Rendering contmovimientos/index
e[4;35;1mContmovimiento Columns (0.0ms)e[0m e[0mSHOW FIELDS FROM
contmovimientos
e[0m
e[4;36;1mContrato Columns (16.0ms)e[0m e[0;1mSHOW FIELDS FROM
contratos
e[0m
e[4;35;1mContrato Load (0.0ms)e[0m e[0mSELECT * FROM contratos
WHERE (contratos
.id
= 2) e[0m
e[4;36;1mContratocomercio Columns (63.0ms)e[0m e[0;1mSHOW FIELDS
FROM contratocomercios
e[0m
e[4;35;1mContratocomercio Load (0.0ms)e[0m e[0mSELECT * FROM
contratocomercios
WHERE (contratocomercios
.id
= 130) e[0m
ActionView::TemplateError (can’t convert Fixnum into String) on line
#11 of app/views/contmovimientos/index.html.erb:
8: (! @txtsql[“contratocomercio.codigo_comercio”].blank?) ||
9: (! @txtsql[“fecha”].blank?) || (! @txtsql[“trxs”].blank?) ||
10: (! @txtsql[“monto”].blank?) ||(@contmovimientos.size == 0))
11: listado(@contmovimientos,
12: {:cps => cps,
13: :size => sz,
14: :ttl => t(:contmovimiento, :count => @contmovimientos.size),
app/helpers/application_helper.rb:91:in `+'
app/helpers/application_helper.rb:91:in `listado'
app/helpers/application_helper.rb:69:in `each_index'
app/helpers/application_helper.rb:69:in `listado'
app/helpers/application_helper.rb:67:in `each'
app/helpers/application_helper.rb:67:in `listado'
app/views/contmovimientos/index.html.erb:11
app/controllers/contmovimientos_controller.rb:54:in `index'
C:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
C:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
C:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
C:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
C:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
C:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
C:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
C:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
C:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
C:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'
-e:1:in `load'
-e:1
Rendered rescues/_trace (375.0ms)
Rendered rescues/_request_and_response (15.0ms)
Rendering rescues/layout (internal_server_error)
deberas no se que es, paso sin una razon aparente.
y dejo de funcionar en llamadas donde no cambie nada.
Ojala me den una pista.
Gracias
Angel Mauricio Pino G
[email protected]
Movil: 08-577.92.72