An error I can't find

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

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 [email protected] 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

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 %>

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

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

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