使用AJAX显示多个部分

Use AJAX to display multiple partials

本文关键字:个部 显示 AJAX 使用      更新时间:2023-09-26

我觉得这应该非常简单。。。

我进行了一个AJAX调用,将一组字符串(在控制器中的回调函数中定义)发送到.js.erb文件:

在我的轨道控制器中:

@array = ["render partial a", "render partial b", "render partial c"]
render :action => "show_options" 

在我的show_options.js.erb文件中,我想对@array中的每个字符串进行escape_javascript调用,例如

var show_1 = '<%= escape_javascript( @array[0] ) %>'
var show_2 = '<%= escape_javascript( @array[1] ) %>'
var show_3 = '<%= escape_javascript( @array[2] ) %>'

问题是数组元素的数量是可变的。我该如何设置某种循环以确保我可以处理任意数量的数组元素?

我尝试了一些类似的方法,但我不知道如何将索引号(I)插入到ruby表达式中。

for (i = 0; i < @array_lenth; i++) { 
    var show =+ '<%= escape_javascript( @array[i] ) %>'
}

我不知道还能怎么做。

因为它是一个.js.erb文件,所以可以插入Ruby风格的循环:

<% @array.each_with_index do |partial, index| %>
    var show_<%= index + 1 %> = '<%= escape_javascript(partial) %>'
<% end %>