アプリにソーシャル機能を追加しようとしており、RailsCast #163 about self-referential associationに従っていますが、友情の削除に問題があります。
ページには、 withと の2user#showつの列があります。メソッドは次のとおりです。@users@friendsshowUsersController
def show
@user = User.find(params[:id])
@users = User.all
@friends = @user.friends
end
また、私はパーシャルを使用しています。どちらもフォルダーからレンダリング<%= render @users %>されます。これは次のとおりです。<%= render @friends %>_user.html.erbusers
<tr>
<td>
<%= gravatar_for user, size: 30 %>
</td>
<td>
<%= user.name %>
</td>
<td>
<% if current_user.friends.exists?(user) %>
<%= link_to 'Remove friend', friendship, :method => :delete %>
<% else %>
<%= link_to 'Add friend', friendships_path(:friend_id => user), method: :post %>
<% end %>
</td>
</tr>
私はすべてを100回チェックしたので、モデルとコントローラにはすべて問題ありません。しかし、ページを開こうとするとundefined local variable or method friendship、この行からエラーが発生します<%= link_to 'Remove friend', friendship, :method => :delete %>。