erbを単独で使う

Last-modified: Tue, 20 Feb 2018 23:14:16 JST (295d)

erbはRailsのテンプレートエンジンとして有名ですが、勿論単独でも使用できます。
テンプレートエンジンなので、簡単なConfファイルを生成するとかいろいろ応用ができます。

  1. erbを読み込みます。
    require 'erb'
  2. テンプレートファイルを作成します。
    <%- # encoding: UTF-8 -%>
    Hellow <%= name %>
  3. 展開する変数を設定し、テンプレートを展開します。
    name = "Taro"
    output = ERB.new(File.read("sample.erb"), nil, '-').result
    File.open("output.txt","w") do |file|
       file.puts output 
    end
    • Tips:<%- -%>とすると、空行が出来なくなります。
  • erbを使っていると
    in `concat': incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)
    というエラーが出ることがあります。
    勿論スクリプトやerbはUTF-8で記載されていますし、スクリプトには
    # -*- coding: utf-8 -*-
    とマジックコメントが入っています。どうもRuby2.4にしたら出るようになりました。
    これ、小一時間悩んだのですが、
    erbの先頭に
    <%# encoding: UTF-8 %>
    っとマジックコメントを入れると直りました。

Counter: 372, today: 1, yesterday: 0

このページの参照回数は、372です。