質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

0回答

1036閲覧

非同期のいいね機能  ボタンが反応しない!

tomsuma

総合スコア38

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/08/12 13:07

編集2020/08/12 21:08

https://qiita.com/kazukimatsumoto/items/14bdff681ec5ddac26d1
https://qiita.com/naberina/items/c6b5c8d7756cb882fb20

を参考にいいね機能を実装中なのですが、
ボタン?(カウントメソッド)が反応してくれず、

どこを押しても反応がありません

検証ツールで見たところエラーも出ていないので
jqueryが反応するしない以前の問題のようです

モデル関係

book.rb belongs_to :user has_many :favorites , dependent: :destroy def favorited_by?(user) favorites.where(user_id: user.id).exists? end facorite.rb class Favorite < ApplicationRecord belongs_to :user belongs_to :book end user.rb has_many :favorites has_many :favorite_books, through: :favorites, source: :book

books show.html.erb いいねボタン画面

<div class="main_contents"> <div class="blog_contents"> <div id="likes_buttons_<%= @book.id %>"> <%= render partial: 'favorites/favorite', locals: { book: @book} %> </div> </div> </div>

_favorite.html.erb

<% if user_signed_in? %> <% if @book.favorited_by?(current_user) %> <!-- ログインしているユーザーがファボしたかどうかで分岐 --> <button><span>お気に入り解除: </span><%=link_to book.favorites.count, book_favorites_path(book.id), method: :delete, remote: true %></button> <% else %> <button><span>お気に入り登録: </span><%=link_to book.favorites.count, book_favorites_path(book.id), method: :post, remote: true %></button> <% end %> <% else %> <p><span>お気に入り数: </span><%= book.favorites.count %></p> <% end %>

create.js.html.erb

$('#likes_button_<%= @book.id %>').html("<%= j(render partial: 'fovorites/fovorite', locals: {book: @book}) %>");

favorite.controller

class FavoritesController < ApplicationController def create favorite = current_user.favorites.build(book_id: params[:book_id]) favorite.save redirect_to books_path end def destroy favorite = Favorite.find_by(book_id: params[:book_id], user_id: current_user.id) favorite.destroy redirect_to books_path end end

likes_buttonsの表記をいじると治る
という記事があったのでやったのですがだめした

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問