ログインをしようとすると下記のようなエラーが出ます。
エラー概要NoMethodError in Users#show
該当箇所Showing /home/ubuntu/workspace/microposts/app/views/users/_favorite.html.erb where line #1 raised:
エラー詳細undefined method `favorites_microposts' for #User:0x007f77c27fa2b0
Did you mean? favorite_ids
コード
<%= form_for(current_user.favorites_microposts.build, remote: true) do |f| %> <%= f.submit "favorite", class: "btn btn-primary" %> <% end %>
どうしたらいいのか全く分からなくなってしまったのでアドバイスよろしくお願いします。どこまで記入すればいいかわからないので長くなります。すみません。必要な情報が抜け落ちていたらご指摘ください。
各ツイートの真下にお気に入りという文字を表示させ、登録のためのリンクを設置しました。
app/views/_micropostへこのコードを書きました。
<%= link_to "お気に入り", micropost, method: :post %> <% if micropost.favorite?(current_user) %> <div id="favorite"> <%= render 'unfavorite' %> <% else %> <%= render 'users/favorite' %> <% end %> </div>
renderで引っ張ってくるファイルはこれです
app/views/users/_favorite.html.erb
<%= form_for(current_user.favorites_microposts.build, remote: true) do |f| %> <%= f.submit "favorite", class: "btn btn-primary" %> <% end %>
app/views/users/_unfavorite.html.erb
<%= form_for(current_user.unfavorites_microposts.build.find_by(micropost_id: params[:@micropost_id]), html: { method: :delete }, remote: true) do |f| %> <%= f.submit "unfavorite", class: "btn" %> <% end %>
お気に登録・解除を切り替えるJAVAscriptはこのように書きました
favoritesフォルダーを作り
$("#favorite_form").html("<%= escape_javascript(render('microposts/unfavorite')) %>");
$("#favorite_form").html("<%= escape_javascript(render('microposts/favorite')) %>");``` をそれぞれクリエイトファイルとデストロイファイルに書きました

