gpt4 book ai didi

ruby-on-rails - 我可以在 render.js 上执行的 View 中使用 CoffeeScript 吗?

转载 作者:数据小太阳 更新时间:2023-10-29 06:40:02 24 4
gpt4 key购买 nike

我需要做什么才能在 Rails JS View 中使用 CoffeeScript?例如:

def index
format.js { render :layout => false }
end

我需要做什么才能让 Rails 使用 index.js.coffee

最佳答案

Johnny 的回答是正确的。如果您查看 pull request链接到 CoffeeBeans页面,你有 dhh 说

Once we have a fast, clean implementation, it's welcome in core. 3.2 is a more likely target, though.

我在 Railsconf 上与 Sam Stephenson 和 Josh Peek 简短地讨论了这个问题,因为这是一个缺失的功能,人们在我的 CoffeeScript 演讲后问过我这个问题。毕竟,Rails 3.1 非常努力地将 CoffeeScript 作为默认设置;有些地方必须使用纯 JS,这似乎很奇怪。 Sam 的 react 是这效率不高,因为您必须在每个页面请求时启动 CoffeeScript 编译器,即使在生产环境中也是如此。那是因为像这样的代码

<%= coffee_script_tag do %>
alert "coffee script is #{verb}!"
<% end %>

创建一个 ERB 插值(不是 CoffeeScript 插值——不幸的是两者使用相同的语法),可能会在每个请求上产生不同的 CoffeeScript 代码字符串。并且没有办法从 coffee_script_tag 实现中判断给定的代码是否每次都相同(即是否有 ERB 插值)。

现在,CoffeeScript 编译器非常快,但是编译成 JavaScript 仍然会为每个请求增加一些额外的时间。因此,Rails 团队对鼓励这种做法犹豫不决。

为了提高效率,并避免 ERB 插值和 CoffeeScript 插值之间的歧义,您应该将 CoffeeScript 保存在某个地方(也许作为 .coffee 文件与您的 View 位于同一目录中)并手动将其编译为 JavaScript。

关于ruby-on-rails - 我可以在 render.js 上执行的 View 中使用 CoffeeScript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225174/

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