Ajaxリクエストはまだ新しくなっていますが、お気に入りのレシピを作成できるボタンが付いたレシピインデックスがあります。Rails 4 + jQuery:PUT ajax request
<i class="favorite" data-recipe="<%= recipe.id %>">
...私はルートにPUTリクエストを使用しようとしています:
favorite_recipe PUT /recipes/:id/favorite(.:format) recipes#favorite
...次のjQueryの関数を使用して:
$(".favorite").click(function(){
$(this).toggleClass("favorited");
var recipe_id = $(this).data("recipe");
// displays properly when I console.log() it
var url_path = '/recipes/' + recipe_id + '/favorite'
$.ajax({
url: url_path,
type: 'PUT'
})
})
が、私のデベロッパーコンソールで404エラーが表示され、表示されるURLはhttp://localhost:3000/recipes/:recipe_id/favorite
ではなくRequest URL:http://localhost:3000/recipes
です。
私は間違っていますか? IDを供給するためにデータパラメータを使用する必要がありますか?
gil.neoは、このお気に入りへのルートを持つroutes.rbがあることを確認しました。さらに、私はあなたのレシピコントローラに以下のような方法が必要だと信じています:gil.neoが言ったように、あなたがこのお気に入りのルートを持つroutes.rbを持っていることを確認しました。 'defの好きな @recipe = Recipe.find(のparams [:ID])を加えて、私はあなたのようなもので、あなたのレシピコントローラのメソッドを必要と信じて!Recipe.increment @ (:好きな) エンド' – tfantina