使用Rails中的js.erb文件处理Ajax响应加载的正确方法

时间:2012-09-13 00:27:21

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-3

我是Rails的新手,但我来自PHP,几乎总是这样,每当我有一个HTML AJAX响应时,我总是可以使用jquery将它加载到容器(任何元素)中。负载()

我也使用Rails做到了,但最近采用了另一种方法:使用.js.erb文件。使用getScript()来执行控制器操作,然后js.erb文件将响应js(ajax)请求,在.js.erb文件中执行加载。

给出general.js:

$.getScript(url, function(){});

给出index.js.erb:

$('#products').html("<%= escape_javascript(render_cell :products, :index, {:products => @products})%>");

但是当我可以在一般情况下进行加载时,这似乎是非常重复的!向控制器具有的模板发出ajax请求并将其加载到容器中(我可以使用jquery .load()的选择器来选择我想要的元素,并且我可以使用application_controller条件来不渲染布局):

<ul>
<%= render_cell :products, :index, {:products => @products} %>
</ul>

在这种情况下,有什么方法可以更有效地使用.js.erb文件吗?

注意:我必须使用第二种方法,因为我使用的是twitter-bootstrap选项卡。我最初使用的是第一种方法,但我认为第二种方式更多&#34; Rails方式&#34;。这是一个学习项目,为什么不呢? XD

0 个答案:

没有答案