Rails渲染HTML比静态HTML慢吗?

时间:2012-01-20 16:41:02

标签: html ruby-on-rails ruby layout rendering

Rails布局

<%= image_tag("logo.png", :alt => "Sample App", :class => "round") %>

将呈现为HTML

<img alt="Sample App" class="round" src="/images/logo.png" />

如果网页必须呈现网页而不是直接获取HTML,网页的加载速度会明显加快吗?我想弄清楚在Ruby中编写HTML的优势,除非是为了方便起见?

1 个答案:

答案 0 :(得分:5)

动态生成HTML的优势

在您的简单示例中,您使用的两个选项中的哪一个实际上并不重要。但是,如果要创建动态内容,则需要像ERB这样的模板系统,如下例所示:

<%= image_tag(@user.logged_in? ? "logged_in.png" : "not_logged_in.png", :class => "login_status") %>

您无法使用静态HTML执行此操作。

性能

在提供HTML之前动态生成这样的HTML显然比服务静态HTML要长一些。但是,Rails内置了caching,因此您可以轻松控制其影响。