我是 Rails 新手,但我来自 PHP,几乎总是这样,每当我有 HTML AJAX 响应时,我总是可以使用 jquery 的 .load() 将它加载到容器(任何元素)中
我也使用 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})%>");
但是当我可以在 general.js 中加载时,这似乎是相当重复的!向控制器具有的此模板发出 ajax 请求并将其加载到容器中(我可以使用 jquery .load() 的选择器来选择我想要的元素,并且我可以使用 application_controller 条件来不呈现布局) :
<ul>
<%= render_cell :products, :index, {:products => @products} %>
</ul>
在这种情况下,有什么方法可以更有效地使用 .js.erb 文件?
注意:我必须使用第二种方法,因为我使用的是 twitter-bootstrap 选项卡。我最初使用第一种方法,但我认为第二种方法更像是“Rails 方式”。这是一个学习项目,为什么不呢?XD