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

Rails how is rendering process carried out?

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

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

我没有考虑上例中的 AJAX 个调用。

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

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

与所有经典的服务器端渲染一样,客户端仅发送请求,服务器完全渲染模板并发送 "finished" html* 给客户端。例如,这与 PHP 没有什么不同。

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

您还可以使用 Handlebars、Mustache、Jade、EJS、JSX 等客户端模板语言,并简单地从您的 rails 应用传送 JSON 数据。