かなり長い間これを解決しようとしてきましたが、私が間違っていることを理解できません。私は単に2人のユーザー間の友情を破壊しようとしています。
ビューは次のようになります。
friendships / index.html.erb
<% @users.each do |user| %>
<% if user.id != current_user.id %>
<%=h user.name %>
<%if current_user.is_friend? user %>
<%= link_to "Destroy", friendships_path(:friend_id => user), :method => :delete %>
<%else%>
<%= link_to "Add friend", friendships_path(:friend_id => user), :method => :post %>
<% end %>
<% end %>
<% end %>
友情コントローラー
def index
@users = User.all
end
def show
@user = current_user
end
def create
@friendship = current_user.friendships.build(:friend_id => params[:friend_id])
if @friendship.save
flash[:notice] = "Added friend."
redirect_to root_url
else
flash[:error] = "Error occurred when adding friend."
redirect_to root_url
end
end
def destroy
@friendship = current_user.friendships.find(params[:id])
@friendship.destroy
flash[:notice] = "Successfully destroyed friendship."
redirect_to root_url
end
このエラーが発生します:
[DELETE]"/friendships"に一致するルートはありません
私はしかし、私がレーキルートを実行するとき、私はパスを持っているように見えます:
friendship GET /friendships/:id(.:format) friendships#show
PUT /friendships/:id(.:format) friendships#update
DELETE /friendships/:id(.:format) friendships#destroy