アプリにソーシャル機能を追加しようとしており、RailsCast #163 about self-referential associationに従っていますが、友情の削除に問題があります。
ページには、 withと の2user#show
つの列があります。メソッドは次のとおりです。@users
@friends
show
UsersController
def show
@user = User.find(params[:id])
@users = User.all
@friends = @user.friends
end
また、私はパーシャルを使用しています。どちらもフォルダーからレンダリング<%= render @users %>
されます。これは次のとおりです。<%= render @friends %>
_user.html.erb
users
<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 %>
。