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