プログラミングを始めてまだ二か月の初心者です。
練習がてら、railsでコミュニティ型のQ&Aサイトを作っています。
いま、ついたアンサーにたいしてgoodかbadで評価できる機能を作っています。
answerにgoodボタン、badボタンをつけるとこ
までは、できたのですが
railsとjsを使ったお手軽「いいね♡機能」
の記事を参考に
そこからajaxを使って非同期処理を実装しようというときに
下記のようなエラーが出てしまいました。
発生している問題・エラーメッセージ
このようなエラーが出てしまいました。
色々、自分でも調べてみて、どうやらcreate.js.erbが
読み込まれていないことが分かったのですが
どうすればエラーが解決できるか全くわからず困っています。
よろしくお願いします。
該当のソースコード
app/controllers/goods_controller.rb
class GoodsController < ApplicationController def create @good= Good.new( user_id: current_user.id, community_id: params[:community_id], answer_id: params[:answer_id] ) if @bad= Bad.find_by(user_id: current_user.id, answer_id: params[:answer_id]) @bad.destroy end @good.save end def destroy @good= Good.find_by( user_id: current_user.id, answer_id: params[:answer_id] ) @good.destroy end end
app/views/answers/show.html.erb
<h2><%= @community.name %></h2> <h1><%= @que.title %></h1> <h2><%= @que.content %></h2> <h1><%= @answer.title %></h1> <% if user_signed_in? %> <%#= good %> <span id="good-of-<%= @answer.id %>"> <%= render partial: 'goods/good', locals: { user_id: current_user.id, answer_id: @answer.id, community_id: @community.id, que_id: @que.id } %> </span> <%#= bad %> <span id="bad-of-<%= @answer.id %>"> <%= render partial: 'bads/bad', locals: { user_id: current_user.id, answer_id: @answer.id, community_id: @community.id, que_id: @que.id } %> </span> <% end %> <h2><%= @answer.content %></h2>
app/views/goods/_good.html.erb
<% if Good.find_by(user_id: current_user.id, answer_id: @answer.id) %> <%= link_to("/communities/#{@community.id}/ques/#{@que.id}/answers/#{@answer.id}/goods", {method: "delete"}, remote: true) do %> <p>good解除</p> <% end %> <% else %> <%= link_to("/communities/#{@community.id}/ques/#{@que.id}/answers/#{@answer.id}/goods", {method: "post"}, remote: true) do %> <p>goodする?</p> <% end %> <% end %> <%= @goods_count %>
app/views/goods/create.js.erb
$("#good-of-<%= @answer.id %>").html("<%= j(render partial: 'good', locals: { user_id: current_user.id, answer_id: @answer.id, community_id: @community.id, que_id: @que.id }) %>")
app/views/goods/destroy.js.erb
$("#good-of-<%= @answer.id %>").html("<%= j(render partial: 'good', locals: { user_id: current_user.id, answer_id: @answer.id, community_id: @community.id, que_id: @que.id }) %>")
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。