ruby – 从命令行传递绑定或参数到ERB

最近我从命令行一直在玩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.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...