【问题标题】:Using the Eco template engine with Rails在 Rails 中使用 Eco 模板引擎
【发布时间】:2011-10-23 00:42:55
【问题描述】:

Eco 是一种嵌入式 Coffeescript 模板语言。它类似于 ERB。有没有办法可以在 Rails 应用程序中将其用作服务器端模板语言?

最终目标是在客户端和服务器上使用一些用 Eco 编写的部分。

【问题讨论】:

标签: ruby-on-rails templates coffeescript


【解决方案1】:

我刚刚注意到 Rails 3.1 将支持这一点。基本上,Sam Stephenson 刚刚发布了 ruby​​-eco 并连接了 sprockets 来使用它。所以这意味着在您的视图模板中使用 .eco 现在可以正常工作了。

链接到commit

【讨论】:

  • 你有提到这个的链接吗?
【解决方案2】:
【解决方案3】:

gem 'eco' 放入您的Gemfile 并使用.jst.eco 命名您的文件,它应该可以在Rails 3.1 中正常工作

【讨论】:

    【解决方案4】:

    [更新:正如 Ben 在下面指出的那样,Eco 的创建者和 Rails 核心团队的成员 sstephenson 创建了一个名为 ruby-eco 的东西,可以让两者一起玩得很好。我在下面的原始答案早于该项目。]

    不可能直接这样做,因为Eco 在 Node.js 上运行,而您不能直接在 Rails 中运行 Node.js(请参阅this related question)。

    您可以将 Rails 应用程序中的某些路由代理到在不同端口上运行的 Node.js 应用程序,但是在两个应用程序之间传递信息没有任何简单的方法,因此这可能毫无意义。

    目前,Eco 与 Rails 是一个非此即彼的决定。但是,如果您不愿意从 Rails 跳到 Node,您仍然可以使用 Johnson 在服务器端进行 JavaScript 模板化,这让您可以从 Ruby 运行 JS。 (据我所知,还没有人编写过 CoffeeScript-Johnson 集成——不过,您可以很容易地自己编写一个,使用 coffee -pe 命令将 CoffeeScript 转换为 JavaScript。)

    【讨论】:

    • 约翰逊看起来很有希望。它被 Isotope (github.com/elado/isotope) 使用。
    • 这不再是真的。可以直接用 ruby​​-eco 来做。
    【解决方案5】:

    我有一个项目使用 eco inside rails 作为像 Liquid 这样的安全模板系统。我称它为 Ice,在 http://github.com/ludicast/ice 结束。

    最初我使用了一些通用的 javascript 模板引擎,但围绕 eco 聚集的蒸汽使它成为一个简单的选择。

    【讨论】:

      猜你喜欢
      • 2013-04-12
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      相关资源
      最近更新 更多