2011-02-26 85 views
4

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

最终目标是在客户端和服务器上使用Eco中写入的部分内容。

+1

本教程这样做是为了我 - 不需要红宝石生态宝石只是JS用法:HTTP ://stjhimy.com/posts/28-javascript-templates-using-eco – 2013-01-25 19:43:40

回答

10

我刚刚注意到Rails 3.1将支持这个。基本上,萨姆史蒂芬森刚刚发布了ruby-eco并挂上了链轮来使用它。所以这意味着在你的视图模板中使用.eco现在就可以工作。

链接到commit

+0

你有链接提到这个吗? – user94154 2011-06-05 15:49:32

+0

Aaaand ...你赢了:) – user94154 2011-09-07 14:22:21

2

[更新:由于本低于所指出的,sstephenson - 生态的创造者和核心成员Rails的团队创造了一种叫做ruby-eco,让两个发挥好起来。我的原始答案早于此项目。]

由于Eco在Node.js上运行,因此无法直接在Rails中运行Node.js(请参阅this related question),因此无法直接执行此操作。

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

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

+1

约翰逊看起来很有前途。它被Isotope使用(https://github.com/elado/isotope)。 – user94154 2011-03-01 14:06:03

+0

这不再是事实。有可能直接用ruby-eco做到这一点。 – 2011-07-20 05:24:54

1

我有使用生态护栏内的安全模板系统等等的液体的项目。我称之为冰,并在http://github.com/ludicast/ice结束。

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

3

gem 'eco'在你的Gemfile并命名您的文件与.jst.eco它应该工作在Rails的只是罚款3.1