Error muy raro en un if

hola lista estoy trabada con algo muy simple, un if !!!

al ponerlo en mi proyecto pense que estaba poniendo algo mal, la probe
en el irb y en la consola de mi proyecto y alli si me funciona bien.

les pongo mi código
tengo esto por un lado

en la vista new

<%= submit_to_remote 'submit', 'Crear Mercado', :url => {:controller => 'mercados', :action => 'new', :valor => 0}, :update => 'nueva',

en la vista show

<% form_tag do %> <%= submit_to_remote 'submit', 'Nuevo mercado', :url => {:controller => 'mercados', :action => 'new', :valor => 1}, :update => 'mercado' -%>
<% end %>

como ven los dos se dirigen al controlador mercados de la vista new y
segun en valor de “valor” hago una cosa u otra

en new tomo
@valor = params[:valor]

y lo paso oculto mediante el formulario de new, para que vaya a create
<%= hidden_field_tag ‘valor’, @valor %>

y en create tengo el if
pero que siempre me entra en el else aunque la condicion del if se
cumpla

cuando el valor = 1

def create
@val= params[:valor]
#render :inline => “<%= @val %>”
#calcular(@val)
if (@val == 1)
render :text => “esta bien”
else
render :text => “esta mal”
end
end

y me escribe “esta mal”, cuando deberia ser “esta bien”

ya se que es muy simple, y que no debeia tener problema con esto, pero
no veo la solucion, no se donde esta el fallo

muchas gracias y espero que me puedan ayudar

El día 4 de agosto de 2008 12:47, Maite P.
[email protected]
escribió:> end

end

y me escribe “esta mal”, cuando deberia ser “esta bien”

Quizá @val es ‘1’ (string) y no 1 (entero)

2008/8/4 Maite P. [email protected]:

hola lista estoy trabada con algo muy simple, un if !!!

Hola Maite,

instalate ruby-debug y arranca Rails con la opción debugger

Mete un breakpoint antes del if y comprueba el valor de “@valor”. Va a
ser el tipo, pero así lo ves por ti misma.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o simplelogica.net
Recuerda comer mucha fruta y verdura.

ok chicos, ademas ya lo comprobe esto es lo que me devuelve el debug

[35, 44] in /Users/maitepiedrayera/proyectos
Rails/project/app/controllers/mercados_controller.rb
35 def create
36 @val= params[:valor]
37 debugger
38 #render :inline => “<%= @val %>”
39 #calcular(@val)
=> 40 if (@val == 1)
41 render :text => “esta bien”
42 else
43 render :inline => “<%= @val %>”
44 #render :text => “esta mal”
(rdb:1) @val
Unknown command
(rdb:1) irb

@val
=> “1”

muchas muchas gracias por todo