0
我得到相關的鏈接下面的錯誤接受我的意見 下降& - 這是一個路由的問題,但我不知道該如何去做。可以 一個好心勸我如何糾正這種問題與控制器路由與行動 - 導軌5
錯誤信息
No route matches {:action=>"accept", :controller=>"friendships", :id=>"emma"}
No route matches {:action=>"decline", :controller=>"friendships", :id=>"emma"}
的意見/用戶/ _friends.html.erb
<% @user.requested_friends.each do |requester| %>
<tr>
<td><%= link_to(image_tag("img-profile-image-default.png"), requester) %></td>
<td><%= link_to requester.firstname, requester %></td>
<td>
<%= link_to "Accept",
{ controller: "friendships",
action: "accept",
id: requester.firstname } %>
<%= link_to "Decline",
{ controller: "friendships",
action: "decline",
id: requester.firstname },
confirm: "Really decline friendship with #{requester.firstname}?" %>
</td>
</tr>
<% end %>
friendships_controller。 rb
class FriendshipsController < ApplicationController
before_filter :setup_friends
def create
Friendship.request(@user, @friend)
flash[:notice] = "Friend request sent."
redirect_to :back
end
def accept
if @user.requested_friends.include?(@friend)
Friendship.accept(@user, @friend)
flash[:notice] = "Friendship with #{@friend.firstname} accepted!"
else
flash[:notice] = "No friendship request from #{@friend.firstname}."
end
redirect_to :back
end
def decline
if @user.requested_friends.include?(@friend)
Friendship.breakup(@user, @friend)
flash[:notice] = "Friendship with #{@friend.firstname} declined"
else
flash[:notice] = "No friendship request from #{@friend.firstname}."
end
redirect_to :back
end
def delete
if @user.friends.include?(@friend)
Friendship.breakup(@user, @friend)
flash[:notice] = "Friendship with #{@friend.firstname} deleted!"
else
flash[:notice] = "You aren't friends with #{@friend.firstname}"
end
redirect_to :back
end
private
def setup_friends
@user = User.find(current_user.id)
@friend = User.find_by_email(params[:id])
end
end
routes文件
Rails.application.routes.draw do
resources :friendships, only: [:create, :update, :destroy]
end
friendships POST /friendships(.:format) friendships#create
friendship PATCH /friendships/:id(.:format) friendships#update
PUT /friendships/:id(.:format) friendships#update
DELETE /friendships/:id(.:format) friendships#destroy