2

我想将以下 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 正确挽救异常?

4

2 回答 2

5

你需要做一个助手。

您应该在那个助手中放置开始/救援逻辑。

# my_helper.rb
class MyHelper
  def my_func
    begin
      some_function
    rescue
      some_other_func
    end
  end
end

# slim view
= my_func
于 2013-02-06T14:28:21.873 回答
1

这实际上是 slim 中的一个错误,并且在 slim 1.3.7 以上版本中已修复(https://github.com/slim-template/slim/commit/e4df090c2c82c3563bcc4e625cbd6ab55a60caf8

语法现在完全按预期工作。不需要辅助方法或缩进。

于 2013-07-08T12:55:38.540 回答