我想将以下erb代码转换为slim。
<% begin %>
<%= some_function %>
<% rescue Exception %>
<%= some_other_function %>
<% end%>
我的方法是:
- begin
= some_function
- rescue Exception
= some_other_function
但这会产生错误:
index.slim:34: syntax error, unexpected keyword_ensure, expecting $end
如何使用slim来正确拯救异常?
答案 0 :(得分:5)
你需要做一个助手。
在那个助手中你应该放置开始/救援逻辑。
# my_helper.rb
class MyHelper
def my_func
begin
some_function
rescue
some_other_func
end
end
end
# slim view
= my_func
答案 1 :(得分:1)
这实际上是一个bug in slim并固定在苗条的1.3.7向上(https://github.com/slim-template/slim/commit/e4df090c2c82c3563bcc4e625cbd6ab55a60caf8)
语法现在完全按预期工作。没有辅助方法也不需要缩进。