An error I can't find


#1

Hello, there’s certainly a monstrous error I don’t see in :
<% for i in @news %>
<% if dern_cat != i.categorie %>
<% case i.categorie %>
<% end %>
<% end %>
<% end %>

I’ve removed all the code I could and don’t understand why the case
i.categorie produce a syntax error, unexpected tIDENTIFIER, expecting
kWHEN

What is that syntax error ?

Thank you


#2

This is just what I found, maybe it’ll help:

http://www.ruby-doc.org/docs/UsersGuide/rg/control.html

l- ooking at their example it seems the syntax should be:
case
when
end

I guess that’s why it’s saying it’s expecting “when”.

Zouplaz removed_email_address@domain.invalid wrote:
Hello, there’s certainly a monstrous error I don’t see in :

<% for i in @news %>
<% if dern_cat != i.categorie %>
<% case i.categorie %>
<% end %>
<% end %>
<% end %>

I’ve removed all the code I could and don’t understand why the case
i.categorie produce a syntax error, unexpected tIDENTIFIER, expecting
kWHEN

What is that syntax error ?

Thank you


#3

Zouplaz schrieb:

What is that syntax error ?

Thank you
The correct Syntax would be something like this (not tested):
<% for i in @news %>
<% if dern_cat != i.categorie %>
<% case i.categorie %>
<% when bar then foo %>
<% end %>
<% end %>
<% end %>


#4

le 19/06/2007 13:46, Daniel K. nous a dit:

i.categorie produce a syntax error, unexpected tIDENTIFIER, expecting
<% end %>
<% end %>
<% end %>

I removed the ‘when’ statements just to have the shortest source code…
with

when ‘foo’
doit()
when ‘bar’
dont()

the error is the same


#5

that’s the correct synthax, working with me without problems:

for i in @news do
if dern_cat != i.categorie then

case i.categorie
when bar :foo
end

end
end

If you still have problems post your whole code and the exact and whole
errormessage you are getting!

Zouplaz wrote:

I’ve removed all the code I could and don’t understand why the case
<% when bar then foo %>
dont()

the error is the same


greets

                 one must still have chaos in oneself to be able to

give birth to a dancing star


#6

Dear Zouplaz,

it seems you opened a case-end statement and incorporated
when-end statements into it.
But the when part doesn’t end in ‘end’, but in the next when
statement:

case condition

when 1

  puts "First thing."

when 2

  puts "Second thing."

else

  puts 'you didn\'t satisfy the condition!!!!'

end

Best regards,

Axel