2010-02-11 52 views
0

我有一个扩展Erubis(一个红宝石模板引擎)的ruby类,我想创建自己的标签。以下是我想要重现的示例:用Erubis创建你自己的标签/函数

<%= link_to "/some/url" %> 

此代码应该生成链接到某个url的html'a'标记。现在我想能够创建我自己的标签,如:

<%= javascript_file "/some/javascript/file" %> 

这将生成一个脚本标记链接到我选择的一些JavaScript文件。

我该如何轻松扩展erubis来做到这一点?

谢谢你的时间。

回答

1

这些只是作用在一个字符串返回标签电话:

def javascript_file(file_path) 
    "<script src=\"#{ file_path }\" type=\"text/javascript\"/>" 
end 

你只需要确保职能范围内的调用结合的时间。

+0

我今天早上才意识到我的问题来自于使用Erubis的evaluate()函数。使用binding()解决了这个问题。 – Benjamin 2010-02-11 23:21:00