Rails渲染过程是如何进行的?

时间:2016-10-18 22:47:34

标签: ruby-on-rails rendering

我们假设我们有一个包含20个LOC的.html.erb文件。该文件还采用变量来显示相关数据。

我想知道用户是否可以在本地访问该文件,并且客户端浏览器执行将数据与erb文件组合的呈现过程(这意味着erb文件已经可用客户端和服务器只需要传输数据:开销较少) OR
服务器将数据与erb文件合并,然后传输(更多开销)。

我在上面的例子中没有考虑过AJAX调用。

1 个答案:

答案 0 :(得分:1)

Embedded Ruby (ERB)是服务器端模板语言。

由于/app文件夹位于Rails服务器Web根目录(/public)之外,因此用户不应该直接访问视图。

与所有经典服务器端呈现一样,客户端仅发送请求,服务器完全呈现模板并将“已完成”的html *发送给客户端。这与PHP没有什么不同。

您可以将Rails与其他服务器端模板语言一起使用(Slim,Haml,jBuilder等)。

您还可以使用客户端模板语言,如Handlebars,Mustache,Jade,EJS,JSX,只需从rails应用程序提供JSON数据。