我有一个个人资料页面,我在其中使用部分呈现所有用户列表:
用户/show.html.erb
<%= render @lists %>
对于每个列表,我会显示相关联的愿望数量:
列表/_list.html.erb
<p class="muted" id="wishes_count"><%= pluralize(list.wishes.count, "wish") %></p>
我正在使用拖放来允许用户使用 jQuery 可排序将愿望从一个列表移动到另一个列表。
现在,我正在使用以下代码:
愿望.js.erb
$(document).ready(function(){
$('.user_list_wishes').sortable({
connectWith: ".user_list_wishes",
items: ".user_list_wish",
placeholder: "sortable_placeholder",
update: function(e, ui)
{
if (this === ui.item.parent()[0])
{
item_id = ui.item.data('item-id');
list_id = $(this).data('list-id');
position = ui.item.index();
$.ajax({
type: 'POST',
url: $(this).data('update-url'),
dataType: 'json',
data: { id: item_id, wish: { row_order_position: position, list_id: list_id } }
}),
$("#wishes_count").html('<%= pluralize(list.wishes.count, "wish") %>')
}
}
})
})
这行代码:
$("#wishes_count").html('<%= pluralize(list.wishes.count, "wish") %>')
让我的应用程序抛出一个NoMethodError
undefined method 'wishes' for nil:NilClass
我相信这与我如何呈现列表并在我的 javascript 中单独引用它们有关?
非常感谢任何有关如何解决此问题的建议!