result_with_hashについて

コードの中で、ちょくちょく出てきていたresult_with_hash。

何度も調べてた + あまり理解していなかったので、簡単にまとめておきます。

結論から言うと、ERB内の変数に、hashの形式で値を渡せます。

コード

# ERBのファイルを作成します。埋め込みできるように変数を用意(今回はname)。
pry(main)> erb = ERB.new('name: <%= name %>')
=> #<ERB:0x000000011ca6ef88
@_init=#<Class:ERB>,
@encoding=#<Encoding:UTF-8>,
@filename=nil,
@frozen_string=nil,
@lineno=0,
@src="#coding:UTF-8\n_erbout = +''; _erbout.<< \"name: \".freeze; _erbout.<<(( name ).to_s); _erbout">

# nameに'asai'を代入して、実行できちゃいます。
[pry(main)> erb.result_with_hash(name: 'asai')
=> "name: asai"

実務では、生SQLの変数に値を提供する目的で使われていました。

パッと使えるようになりたいですね〜。では。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA