Ruby on Rails ajax - 动态加载所有页面

时间:2010-02-04 00:43:33

标签: ruby-on-rails ajax

我有一个闪存媒体播放器(类似于lala.com),需要在人们点击时继续播放。我不想使用iframe。

因此,无论用户点击什么链接,我都需要使用ajax动态加载所有网站页面。

我已经将Rails和JQuery用于单个页面了。使用这种方法,我必须为调用任何控制器放置一个file.js.erb文件。示例:调用example.com/home,我必须在views home目录中有一个index.js.erb来响应。

我用过: http://railscasts.com/episodes/174-pagination-with-ajax

让它在一个页面上工作,但将.js.erb文件复制到每个控制器都不会是干的。

我可以使用主application_controller或者甚至使用routes.rb吗?

2 个答案:

答案 0 :(得分:1)

我找到了一种方法来做到这一点。您可以通过jquery加载方法加载您想要的任何页面。

$('#result').load('ajax/test.html #container');

然后将它们放在带有#result id的div中。 您还可以使用#container指定页面片段,以便只加载所需的部分。 这允许你的所有控制器保持机智等,没有额外的js。

答案 1 :(得分:0)

这实际上会影响您对搜索引擎的可见性。我也认为这意味着您需要考虑控制器的流量。控制器不会让控制器响应代表页面的视图,而是使用注入主页的HTML / JSON /等片段进行响应。您的主页充当协调员,将内容加载和加载。在每个视图文件夹中都有js.erb文件非常好......因为它们应该返回特定于单个控制器的内容。