我想显示带有行号的类别表中的所有类别。 因此,如果某个类别有3行,则会显示
当我点击添加时,它应该增加行号(4,5 ...)。我曾尝试使用rails _counter变量,但它不适用于Ajax。
index.html.erb
<table class="table table-bordered">
<thead>
<tr>
<th >No</th> <--------------No column
<th >Title</th>
<th ></th>
</tr>
</thead>
<tbody id="appendcat">
<%= render partial: @category %>
</tbody>
</table>
_category.html.erb
<tr id="caterow_<%=category.id%>">
<td><%=%></td> <--------------here??
<td><%=category.parent_title %> </td>
<td><%= link_to("Show", category,:class =>'') %>
<%= link_to("Edit", edit_category_path(category),:class =>'') %>
<%= link_to("Delete", category_path(category), method: :delete, data:{confirm: 'Are you sure?'}, remote: true )%>
</td>
</tr>
create.js.erb
$('#appendcat').append('<%= j render(@category)%>');
Ajax运行正常。我可以添加一个类别,它会显示新类别而不刷新。但是,只要我在_category.html.erb中添加<%=category_counter+1%>
,它就无效。
它只需要动态增加行号。 有可能吗?
答案 0 :(得分:1)
<强> index.html.erb 强> 假设您将从索引操作中获取@categories变量中的所有现有类别。
<table class="table table-bordered">
<thead>
<tr>
<th >No</th>
<th >Title</th>
<th ></th>
</tr>
</thead>
<tbody id="appendcat">
@categories.each_with_index do |category, index|
<%= render partial: category, locals: { category: category, counter: index+1 } %>
end
</tbody>
</table>
<强> _category.html.erb 强>
<tr id="caterow_<%=category.id%>">
<td><%= counter %></td>
<td><%=category.parent_title %> </td>
<td>
<%= link_to("Show", category,:class =>'') %>
<%= link_to("Edit", edit_category_path(category),:class =>'') %>
<%= link_to("Delete", category_path(category), method: :delete, data:{confirm: 'Are you sure?'}, remote: true)%>
</td>
</tr>
<强> create.js.erb 强> 假设您将从创建操作中获取@category变量中的新类别。
$('#appendcat').append('<%= j render partial: 'category', locals: { category: @category, counter: Category.count } %>');
希望它有所帮助!
答案 1 :(得分:0)
你可以做这样的事情
last = parseInt($("#appendcat tr:last td:first").text() );
$('#appendcat').append('<%= j render(@category)%>');
$("#appendcat tr:last td:first").text( last + 1);