2010-10-07 68 views
4

寻找使用可以放置在任何网站上的ruby-on-rails创建交互式JavaScript小部件。在ruby/rails中创建交互式ajax javascript小部件

我能够创建一个基本的小部件。它相当简单(例如使用document.write)这适用于从我的服务器获取数据并将其放入小部件但非常静态。

但是,我该如何创建更动态/互动/ ajaxy的东西?

我希望能够使用link_to_remote或其他方法进行ajax调用,并且能够从我的服务器获取数据并在用户与其交互时更新小部件。

任何想法?如果有人能指出我会朝着正确的方向发展,那将会很棒。

谢谢!

回答

1

由于您的目标是一个可以从任何网站使用的小部件,由于Same origin security政策,您无法使用“Ajax”。

您可以做的是创建一个交互式小部件,它使用JSONP pattern从任何服务器获取数据。

使用JSONP,您的小部件可以与您的网站进行交互,即使它是与您的网站无关的其他网页的一部分。

在您的Javascript程序中可以轻松使用JSONP。它们包括:

和其他人。无论如何,你当然可以使用Rails作为你的后端。

0

我建议您不要开发一个新的小部件规范,您可以看看W3C Widgets specification并在Ruby中实现它。

有一个现有的Apache项目(Wookie),其一些代码已经移植到Ruby。 Wookie使用服务器端代理来避免Ajax窗口小部件的相同原始问题。