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

Javascript 在Rails中使用js.erb文件处理Ajax响应加载的正确方法,javascript,jquery,ruby-on-rails,ajax,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,我是Rails新手,但我来自PHP,在PHP中,每当我有一个HTML AJAX响应时,我总是可以使用jquery的.load将其加载到containerany元素中 我也用Rails实现了这一点,但最近采用了另一种方法:使用.js.erb文件。使用getScript执行控制器操作,然后js.erb文件将响应js ajax请求,并在.js.erb文件中进行加载 给定general.js: $.getScript(url, function(){}); 给定index.js.erb: $('#pr

我是Rails新手,但我来自PHP,在PHP中,每当我有一个HTML AJAX响应时,我总是可以使用jquery的.load将其加载到containerany元素中

我也用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的选择器来选择我想要的元素,并且我可以使用应用程序\控制器条件来不呈现布局:

<ul>
<%= render_cell :products, :index, {:products => @products} %>
</ul>
在这种情况下,有什么方法可以更有效地使用.js.erb文件吗


注意:我不得不使用第二种方法,因为我使用的是twitter引导标签。我最初使用第一种方法,但我认为第二种方法更像Rails方法。这是一个学习项目,为什么不呢?XD

我个人通常从AJAX请求返回JSON对象,并使用客户端JS处理它们。但这并不能真正回答你的问题Dso如果您希望得到HTML响应,可能不需要.js.erb文件,对吗?我的意思是,如果找不到任何js.erb视图,它会返回到html.erb视图,对吗?