使用带有Rails的Eco模板引擎

时间:2011-02-26 01:05:24

标签: ruby-on-rails templates coffeescript

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

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

5 个答案:

答案 0 :(得分:10)

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

链接到commit

答案 1 :(得分:3)

答案 2 :(得分:3)

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

答案 3 :(得分:2)

[更新:正如Ben在下面指出的那样,sstephenson-- Eco的创建者和核心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。)

答案 4 :(得分:1)

我有一个项目使用eco内部轨道作为安全的模板系统,如液体。我称之为冰,并在http://github.com/ludicast/ice结束。

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