概要
いいね機能の非同期通信を行っていましたが、うまく作動していません。
ターミナルを確認すると、以下のようなエラー文が出ます。
ActionView::Template::Error (Missing partial rooads/_rooad with {:locale=>[:en], :formats=>[:js, :html, :text.......
js.erbファイルが正常に発火できる確認したので、js.erbファイルの内容が間違っているものだと思いましたが、解決に至りません。ご協力の方よろしくお願い致します
「参考記事」
https://techtechmedia.com/favorite-function-rails/
各ファイル
likes/js.erb(create,destroy)
document.getElementById('rooad_<%= @rooad.id %>').innerHTML = '<%= j(render @rooad) %>'
Rooads/index
<h1>口コミ一覧</h1> <% @rooads.each do |rooad|%> <div id="rooad_<%= rooad.id %>"> <%= render 'post', rooad: rooad %> </div > <% end %>
Rooads/_post
<p>タイトル:<%= rooad.title %></p> <% if current_user.liked_by?(rooad.id) %> <td><%= link_to 'いいねを外す', destroy_like_path(rooad), method: :DELETE, remote: true %><%= rooad.likes.count %></td> <% else %> <td><%= link_to 'いいね', create_like_path(rooad), method: :POST, remote: true %><%= rooad.likes.count %></td> <% end %> <%= link_to 'もっと見る', rooad_path(rooad.id) %>
LikesController
class LikesController < ApplicationController before_action :post_params def create Like.create(user_id: current_user.id, rooad_id: params[:id]) end def destroy Like.find_by(user_id: current_user.id, rooad_id: params[:id]).destroy end private def post_params @rooad = Rooad.find(params[:id]) end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。