关于ruby on rails 3.2:Slim中的Case语句

Case statement in Slim

有没有一种方法可以用slim为下面的示例编写一个case语句。我对stackoverflow问题做了一些修改:如何用ruby编写switch语句

1
2
3
4
5
6
7
8
9
10
case a
when 1..5
  ="It's between 1 and 5"
when 6
  ="It's 6"
when String
  ="You passed a string"
else
  ="You gave me #{a} -- I have no idea what to do with that."
end

我尝试了以下操作,但生成了一个错误。

1
2
3
= case @taxon.name
  = when"Wedding Cakes"
    div.taxon-descripiton Wedding Cake Description

这就是我听到的

1
2
... syntax error, unexpected tIVAR, expecting keyword_when
; @output_buffer.safe_concat(("<when>"Weddin...

=用于呈现某些内容,当您想调用某些Ruby逻辑而不呈现视图中的任何内容时,应使用-

1
2
3
- case @taxon.name    
- when"Wedding Cakes"    
  div.taxon-descripiton Wedding Cake Description

我不确定这是否能解决你的问题,你是否考虑过把这个逻辑转移到一个装饰器上?