我在使用 Rails 3(ruby 1.9.2)和嵌套资源时遇到了这个烦人的问题。在我的路线中:
resources :lists do
resources :items, only: [:destroy, :update, :create]
end
我ItemsController
的respond_to :json
开头#destroy
是这样的:
def destroy
@item = Item.find(params[:id])
@item.destroy
respond_with @list, @item
end
销毁物品的链接:
<%= link_to 'x', list_item_path(@list, item), method: :delete, remote: true %>
这会转化为正确的 html,例如:
<a href="/lists/1/items/52" data-method="delete" data-remote="true" rel="nofollow">x</a>
当我单击链接时,我的项目被正确删除,但该方法总是返回{}
. 我一直在尝试修改它,但与那个空的 JSON 对象没有任何不同!
其他所有方法 (#create
和#update
) 都按预期工作并返回 JSON 对象。