1

我有一个控制器方法,它可以传递一个整数变量或一个整数变量数组。我必须在我的.js.erb文件中查看td以使用适当的整数重新分配 s 。如何获取数组当前对象的值并将其传递给 html.erb 进行渲染?

这是 .js.erb 文件:

<% if @pos_range %>
    <% @pos_range.each do |p|%>
        $("td#add_bar_<%= p %>").replaceWith("<%= escape_javascript(render(:partial => 'foos/update_bar_position', :locals => { :id => @foo.id, :position_str => @position_str } ))%>");
        $("td#add_bar_button_<%= p %>").replaceWith("<%= escape_javascript(render(:partial => 'foos/update_bar_position_button', :locals => { :id => @foo.id, :position_str => @position_str } ))%>");
    <% end %>
<% else %>
    $("td#add_bar_<%= @position %>").replaceWith("<%= escape_javascript(render(:partial => 'foos/update_bar_position', :locals => { :id => @foo.id, :position_str => @position_str } ))%>");
    $("td#add_bar_button_<%= @position %>").replaceWith("<%= escape_javascript(render(:partial => 'foos/update_bar_position_button', :locals => { :id => @foo.id, :position_str => @position_str } ))%>");
<% end %>

这是 update_bar_position。如果使用循环,p则新td的 s 被命名为“remove_name_”:

<% if @position %>
    <td id=<%="remove_name_#{@position.to_s}"%>>
        <%= @position_str %>&nbsp;
    </td>
<% else %>
    <td id=<%="remove_name_#{p.to_s}"%>>
        <%= @position_str %>&nbsp;
    </td>
<% end %>

感谢您的任何建议。

4

1 回答 1

0

使用 each_with_index

<% if @pos_range %>
<% @pos_range.each_with_index do |p, i|%>
    $("td#add_bar_<%= p %>").replaceWith("<%= escape_javascript(render(:partial => 'foos/update_bar_position', :locals => { :id => @foo.id, :position_str => @position_str, :index => i } ))%>");
    $("td#add_bar_button_<%= p %>").replaceWith("<%= escape_javascript(render(:partial => 'foos/update_bar_position_button', :locals => { :id => @foo.id, :position_str => @position_str } ))%>");
<% end %>

在您的 .html.erb 文件中,您可以访问变量 'index'

于 2013-05-30T15:20:39.273 回答