是否可以在 Liquid 模板中进行 AJAX 调用?

发布于 2024-08-26 12:52:18 字数 438 浏览 9 评论 0原文

我正在研究 Rails 应用程序的液体模板语言:

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

我希望我的用户也能够进行 AJAX 调用(就像 Rails 中的 periodical_call_remote、observe_field 等调用一样)。这可能吗?

假设可以将 Rails 助手添加为过滤器,那么用户如何修改 AJAX 调用返回的内容?他们无法修改服务器上的 rjs 文件或类似文件。我想 AJAX 调用可以返回 JSON(而不是渲染的 html),然后 javascript 可以使用它来渲染某些内容。但我在想象它到底如何运作时遇到了一些困难。

如果有人能给我举一个例子或澄清一下,我将不胜感激。谢谢!

I'm looking at the liquid templating language for Rails apps:

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

I'd like my users to also be able to make AJAX calls (just like the ones in rails for periodically_call_remote, observe_field, etc). Is this possible?

Assuming the rails helpers can be added as filters, how will the user be able to modify what gets returned by the AJAX call? They cannot modify an rjs file on the server or anything like that. I suppose the AJAX call could return JSON (instead of rendered html) and then the javascript could use that to render something. But I'm having a little trouble envisioning how it would work exactly.

If anyone can point me to an example of this or clarify it'd be much appreciated. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

森林很绿却致人迷途 2024-09-02 12:52:18

允许任何用户进行任何 ajax 调用真的是您想要的吗?
不要忘记您不能信任您的用户。您真的希望他们能够请求您域名上的任何页面吗?

我想您只是希望能够允许他们仅请求某些页面。定义的 URL 列表。

然后,您只需为每个网址创建一个过滤器即可返回您的内容。
因此,如果用户在他的模板中这样做:

{{ get_users }}

这将在内部执行 ajax 调用来检索所有用户的列表。

当您正在处理只有开发人员应该处理的事情时,您可以考虑通用性。
但是,当允许用户更改应用程序的代码时,您应该限制他们,以免他们破坏和破坏所有内容。

Is allowing any user to make any ajax call really what you want ?
Don't forget you can't trust your users. Do you really want them to be able to request any page on your domain name ?

I guess you want to be able to allow them to request some pages only though. A defined list of urls.

Then you can just create one filter per url that'll return your content.
So if the user does in his template :

{{ get_users }}

Which will do, internaly, an ajax call retrieving the list of all your users.

You can think generic when you're working on things that only developers should be working on.
But when it's about allowing your users to change the code of your application, you should restrain them so they don't hack and break everything.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文