LoginSignup
20
18

More than 5 years have passed since last update.

slimでテキスト埋め込み時にエスケープをオフにする

Posted at

Slimではテキスト中にRuby式の#{@hoge}でテキストを埋め込めます。

html
  body
    | Hello my name is #{@name}.

といった具合です。erbで言う<%= @name %>みたいな感じですがこっちのほうがRubyぽくて見やすいです。
ですがJavaScriptに何か埋め込むなどのちょっとトリッキーな事に使おうとした場合、エスケープ処理されるのが邪魔になるケースがあります

javascript:
  SomeGreatFuction("#{@target}")

こう書いた物が

<script type="text/javascript">
  SomeGreatFunction("[&quot;a&quot;, &quot;b&quot;]")
</script>

こんな感じに残念な事になります。そういう時は#{{@hoge}}を使います。

javascript:
  SomeGreatFuction(["#{{@target}}"])

こうかくと

<script type="text/javascript">
  SomeGreatFunction([a", "b"])
</script>

こうなってくれて便利。

20
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
18