弱点が発覚。意図した特徴だけど全くできないのはちょっとつらい。
似たテンプレートエンジンRutyというのがあった。
http://ruty.rubyforge.org/documentation/ Ruty Documentation
こっちは使える。指示してあげないといけないけど...
コード例:
require 'rubygems'
require 'ruty'
class HogeHoge
def get_var
"VARVAR"
end
def ruty_safe?(name)
return [:get_var].include?(name)
end
end
items = [ { :name => "The Oldest Book", :author => 'Kota' },
{ :name => "Yet Another Book", :author => 'Ryohei' },
{ :name => "The Lost Book ><", :author => 'Mikako' } ]
title = "Book List"
tmpl = Ruty::Template.new(DATA.read)
puts tmpl.render({:title => title, :items => items, :is_ok => true, :hogehoge => HogeHoge.new })
__END__
{% if is_ok %}
<h1>{{ title }}</h1>
{% endif %}
<table>
{% for item in items %}
<tr><td>{{ item.name|escape }}</td><td>{{ item.author|escape }}</td>
{% endfor %}
</table>
hoge: {{ hogehoge.get_var }}
インストールはgem install rutyで。
0 件のコメント:
コメントを投稿