https://qiita.com/fumikao/items/373caa60b77f27f2dbdd
の記事を参考にいいね機能を実装しようとしているのですが、
ボタンを押してもデータベースへの保存が見られません!
検証ツールを使い見たところ
Uncaught ReferenceError: $ is not defined at <anonymous>:1:1 at processResponse (rails-ujs.js:283) at rails-ujs.js:196 at XMLHttpRequest.xhr.onreadystatechange (rails-ujs.js:264)
というエラーでした
book show.html.erb ボタンのところ
</div> <div id="likes_buttons_<%= @book.id %>"> <%= render partial: 'likes/like', locals: { book: @book, likes: @likes} %> </div> <div class="container">
_like.html.erb
<% if user_signed_in? %> <% unless book.like_user(current_user.id).blank? %> <%= link_to book_like_path(book_id: book.id ,id: book.likes[0].id), method: :delete, remote: true do %> <div class="vertical_like"> <i class="material-icons red-text">favorite</i> <span class="red-text"> <%= book.likes_count %> </span> </div> <% end %> <% else %> <%= link_to book_likes_path(book.id), method: :post, remote: true do %> <div class="vertical_like"> <i class="material-icons grey-text text-darken-2">favorite_border</i> <span class="grey-text text-darken-2"> <%= book.likes_count %> </span> </div> <% end %> <% end %> <% else %> <% if book.likes_count %> <div class="vertical_like"> <i class="material-icons red-text">favorite</i> <span class="red-text"> <%= book.likes_count %> </span> </div> <% else %> <div class="vertical_like"> <i class="material-icons grey-text text-darken-2">favorite_border</i> <span class="grey-text text-darken-2"> <%= book.likes_count %> </span> </div> <% end %> <% end %>
create.js.erb
$('#likes_buttons_<%= @book.id %>').html("<%= j(render partial: 'likes/like', locals: {book: @book}) %>");
色々やり直してみたりしているのですが
一向に解決しません
ジャバスクリプトのエラーということでjqueryを入れ直してみたのですがダメでした
jQueryはページ内でどのように読み込んでいますか?
ご回答ありがとうございます!!
のようにしております
application.js
```
require("@rails/ujs").start()
// require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require('./preview')
//= require_tree .
//= require jquery #追加
//= require jquery_ujs #追加
gem "jquery-rails"
```
application.html.erb
```
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
```
create.js.erb
```
$('#likes_buttons_<%= @book.id %>').html("<%= j(render partial: 'likes/like', locals: {book: @book}) %>");
```
をスクリプトタグで埋め込んだほうがいいのでしょうか
回答1件
あなたの回答
tips
プレビュー