今お気に入り機能の実装をしている者です。
非同期通信でお気に入りボタン押した後、リロードせずにボタンがお気に入り解除になるようにしたのですが、remote: trueを記述しcreate.js.erbとdestroy.js.erbも記述しましたが非同期通信がされません。
views/products/show.html.haml
.main-contents__show-main__product__optionArea .main-contents__show-main__product__optionArea__likeBtn =render partial: 'favs/fav', locals: {product: @product}
views/favs/_fav.html.haml
-if user_signed_in? -if current_user.fav_by?(@product) =form_with url: fav_path, method: :delete, remote: true do |f| =f.hidden_field :id, value: params[:id] =f.submit 'お気に入り解除', class: "likeBtn" -else =form_with url: favs_path, method: :post, remote: true do |f| =f.hidden_field :id, value: params[:id] =f.submit '★お気に入り', class: "likeBtn"
views/favs/creat.js.erb
$('.main-contents__show-main__product__optionArea__likeBtn').html("<%= j(render partial: 'favs/fav', locals: {product: @product}) %>");
views/favs/destroy.js.erb
$('.main-contents__show-main__product__optionArea__likeBtn').html("<%= j(render partial: 'favs/fav', locals: {product: @product} ) %>");
あなたの回答
tips
プレビュー