什么是模板引擎?

时间:2017-06-29 02:46:26

标签: ruby-on-rails ruby

我做了一些谷歌搜索,我明白Ruby的模板引擎是错误的,但模板引擎是什么意思?

2 个答案:

答案 0 :(得分:3)

模板引擎只是表示层,它以html格式表示rails应用程序的实际逻辑/变量。因此,最终用户可以获得他们想要的东西。

考虑您是否拥有@users对象,并且您希望遍历每条记录并在网页上表示每个用户详细信息的名称。简单的html无法做到这一点。所以erb和其他模板引擎出现了。

这些引擎将变量,函数和用户定义语法的值转换/评估为html格式并表示给最终用户。

希望这会对你有所帮助。

答案 1 :(得分:3)

  

模板是一种图案,模具或类似物,通常由木板或金属薄板组成,用作机械工作中的量规或指导,用于确定或用作图案;模特:
   - 字典定义

在我们的编程世界中,模板是共享共同模式的任何重复性工作的框架。我们将常见模式作为模板提取出来,现在您可以嵌入更改/动态数据并创建工作副本。

示例:您注意到您在医院或政府中获得的表格。办公室里有空白字段供您编写动态数据。最后,您将获得该应用程序的副本。不是吗?

为方便起见,我们将ERB作为Ruby标准库中的引擎。

让我们的手弄脏;试试这个,看看结果:

require 'erb'

your_template = <<-TEMP
  This document is a template for <%= title %> <%= full_name %>.

  Now we are going to have a line written <%= n %> times.

  <% n.times do %>
    This line must repeat <%= n %> times.
  <% end %>

TEMP

title = 'Mr.'
full_name = 'Shiva Gaire'
n = 5

generated_doc = ERB.new(your_template).result

puts generated_doc

<强>输出

This document is a template for Mr. Shiva Gaire.

Now we are going to have a line written 5 times.

 This line must repeat 5 times.


 This line must repeat 5 times.


 This line must repeat 5 times.


 This line must repeat 5 times.


 This line must repeat 5 times.