gpt4 book ai didi

ruby-on-rails-3 - 如何在 Rails 3.1 中管理 Assets ?

转载 作者:行者123 更新时间:2023-11-30 23:49:49 25 4
gpt4 key购买 nike

好的,所以我正在使用 Rails 3.1 开始一个新项目,而且我是 CoffeeScript 的新手。

无论如何,我喜欢让 Assets 文件代表 Controller 的想法,但是如果我只想在调用 Controller 时渲染 JS 呢?

例如,我有一个名为 Game 的 Controller 。 .在我的 games.js.coffee文件,我在那里放了一些代码,每个页面请求都会调用它。甚至与Games无关的页面.

Rails 3.0.7 ,我要做的是放一个 yield(:js)在应用程序 erb 文件中,然后调用 content_for(:js)在我的 Games#action看法。这样,只加载了该 Controller 所需的 js。

或者,我是否以错误的方式解决这个问题?最好有所有 js 代码为每个页面请求加载和缓存以提高性能?

感谢您的任何建议。

最佳答案

Is it better to have ALL js code loaded and cached for every page request to improve performance?



基本上,Rails 团队认为答案通常是"is"。大多数站点仅使用单个(缩小的)JS 文件即可发挥最佳效果,您在 Rails 3.1 中默认获得该文件。这样,一旦用户访问了您网站的单个页面,所有其他页面都会快速加载,因为所有 JS 都已缓存。

如果您的网站有大量 JS(想想 Facebook),那么我建议您将网站架构为异步加载很少使用的 JS 代码,使用类似 RequireJS 的库。 .否则,我不会费心在不同的 Controller 下加载不同的代码;这是为了获得边际 yield 而进行的大量额外工作。

关于ruby-on-rails-3 - 如何在 Rails 3.1 中管理 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com