前提・実現したいこと
railsでフォロー機能を非同期で実装しようとしているのですが、データはしっかり動いて、フォロー、アンフォローはできているのですが、見た目に変化がないんです。
エラーぽいのがターミナルででているのですが、わかりません。2つ合ったのでどちらも載せときます。
フォロー機能は実装できているので、ajax部分のコードを書いています。
発生している問題・エラーメッセージ
1 Cannot render console from 10.0.2.2! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 Processing by EndUser::RelationsController#destroy as JS Parameters: {"utf8"=>"✓", "authenticity_token"=>"8Sc0zGvEqmHmzkUFQ5q2hFTuiQ1iPwfJrHa7w1qKaA+uS1KWULkOvJowqXNk/c2JGAqDe6Qigevi/ZGhSOGgbA==", "user_id"=>"3", "commit"=>"Unfollow"} 2 ActionView::Template::Error (Missing partial users/_follow with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}. Searched in: * "/vagrant/Make_Memories/app/views" * "/var/lib/gems/2.5.0/gems/devise-4.7.1/app/views" * "/var/lib/gems/2.5.0/gems/kaminari-core-1.1.1/app/views" ): 1: $("#follow_form").html("<%= escape_javascript(render("users/follow")) %>");
該当のソースコード
Ruby
1relationscontrolloer 2 3class EndUser::RelationsController < ApplicationController 4 before_action :set_user 5 6 def create 7 following = current_user.follow(@user) 8 respond_to do |format| 9 format.html { redirect_to @user } 10 format.js 11 end 12 end 13 14 def destroy 15 following = current_user.unfollow(@user) 16 respond_to do |format| 17 format.html { redirect_to @user } 18 format.js 19 end 20 end 21 22 private 23 def set_user 24 @user = User.find(params[:user_id]) 25 end 26end
ruby
1app/views/end_user/users/_follow.html.erb 2<%= form_with url: end_user_relation_path, remote: true do |f| %> 3 <%= f.hidden_field :user_id, value: @user.id %> 4 <%= f.submit 'Follow', class: 'btn btn-primary' %> 5<% end %>
ruby
1app/views/end_user/users/_unfollow.html.erb 2<%= form_with url: end_user_relation_path, method: :delete, remote: true do |f| %> 3 <%= f.hidden_field :user_id, value: @user.id %> 4 <%= f.submit 'Unfollow', class: 'btn btn-danger' %> 5<% end %> 6
ruby
1app/views/end_user/users/_showtemplate.html.erb 2<% if @user.id != current_user.id %> 3 <div class="follow-button"> 4 <%= render 'follow_button' %> 5 </div> 6<% end %> 7
ruby
1app/views/end_user/users/_follow_button.html.erb 2 3<% unless current_user == @user %> 4 <div id="follow_form"> 5 <% if current_user.following?(@user) %> 6 <%= render 'unfollow'%> 7 <% else %> 8 <%= render 'follow' %> 9 <% end %> 10 </div> 11<% end %> 12
javascript
1app/views/end_user/relations/create.js.erb 2 3$("#follow_form").html("<%= escape_javascript(render("users/unfollow")) %>");
javascript
1app/views/end_user/relations/destroy.js.erb 2 3$("#follow_form").html("<%= escape_javascript(render("users/follow")) %>");
試したこと
補足情報(FW/ツールのバージョンなど)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/12 08:10
2020/01/12 13:31