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

スリムを使用して例外を適切にレスキューするにはどうすればよいですか?

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

これは実際にはスリムのバグであり、スリム 1.3.7 以降で修正されています ( https://github.com/slim-template/slim/commit/e4df090c2c82c3563bcc4e625cbd6ab55a60caf8 ) 。

構文が期待どおりに機能するようになりました。ヘルパー メソッドもインデントも必要ありません。

于 2013-07-08T12:55:38.540 に答える