1

Rails 3 (ruby 1.9.2) とネストされたリソースでこの厄介な問題が発生しています。私のルートでは:

resources :lists do
  resources :items, only: [:destroy, :update, :create]
end

私のItemsControllerrespond_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 オブジェクトを返します。

4

1 に答える 1

2

他に何を期待するかは完全にはわかりません。が削除された場合item、破棄されたオブジェクトを返すことができないため、JSON 応答は空になります。

createupdate場合、itemオブジェクトはまだ存在するため、それを JSON ハッシュとして返します。

于 2012-01-19T17:27:27.020 に答える