maite
1
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
|
maite
2
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)
maite
3
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.
maite
4
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