2010-03-23 100 views
1

我期待在液体模板语言Rails应用:是否可以在液体模板中进行AJAX调用?

http://wiki.github.com/tobi/liquid/

我想我的用户也能够使AJAX调用(就像在轨的periodically_call_remote,的observe_field的那些,等等)。这可能吗?

假设rails助手可以作为过滤器添加,用户将如何修改AJAX调用返回的内容?他们不能修改服务器上的rjs文件或类似的东西。我想AJAX调用可能会返回JSON(而不是呈现的HTML),然后JavaScript可以使用它来呈现一些东西。但是我在设想它如何工作时会遇到一些麻烦。

如果有人能指点我一个这样的例子或澄清它将不胜感激。谢谢!

回答

1

是否允许任何用户真正做出你想要的任何ajax调用?
不要忘记你不能相信你的用户。你真的希望他们能够请求你的域名上的任何页面吗?

我想你想让他们只能请求一些页面。已定义的网址列表。

然后,您可以为每个网址创建一个过滤器来返回您的内容。
因此,如果用户确实在他的模板:

{{ get_users }} 

哪个都行,internaly,Ajax调用检索所有用户的列表。

当你在处理只有开发人员应该处理的事情时,你可以认为是通用的。
但是,当它允许用户更改应用程序的代码时,应该限制它们,以免它们破解并破坏所有内容。

+0

好点达米安。夫妇的想法。 1.在安全性上,经过认证的API调用可以解决安全问题,或者2.您使用ajax调用的过滤器提供的建议。我其实更喜欢这个 - 但他们将如何以自定义的方式渲染返回的数据? get_users命令是否可以返回JSON并让用户按照他们的意愿来做?感谢您的帮助,我可以告诉您在这里有一些很棒的体验。 – 2010-03-24 07:15:50

+0

我对液体不是很熟悉。但是如果你的过滤器返回一个ruby数组,你可以遍历它,然后按照你想要的方式显示它。 – 2010-03-24 07:22:06

相关问题