最近我从命令行一直在玩erb.我想制作一个脏的简单的erb模板,例如:
<%- name = "Joe"; quality = "fantastic" -%> Hello. My name is <%= name %>. I hope your day is <%= quality %>.
如果我跑,这可以工作
erb -T - thatfile.erb
我想做的是让命名行参数传递名称和质量,这样我就可以做到:
./thatfile.erb "Bill" "super"
从bash提示,做同样的事情.
我知道我可以写一个ruby脚本,它只会读取该模板,然后使用ERB.new(File.read(“thatfile.erb”)).result(binding),或者在END之后编写模板同样,但是我正在寻找一种更轻量级的方法,如果它存在,因为我不想为我为此目的创建的每个erb脚本写两个文件.
解决方法
如果您使用unix,请尝试以下操作:
$cat 1.erb Hello. My name is <%= name %>. I hope your day is <%= quality %>. $(echo '<% name="Joe"; quality="fantastic" %>' && cat 1.erb) | erb Hello. My name is Joe. I hope your day is fantastic.