我是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