Ruby on rails 友谊被取消、谢绝
我正试图建立一个友谊系统,大致如下链接:如何在社交网络应用程序的Rails3中实现友谊模型?。不过有点欠缺。我能够创建关系,但我不确定如何执行以下操作:取消、拒绝、接受 因此,假设我尝试取消关系,我在挂起上执行以下操作,调用我执行以下操作的操作:Ruby on rails 友谊被取消、谢绝,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,我正试图建立一个友谊系统,大致如下链接:如何在社交网络应用程序的Rails3中实现友谊模型?。不过有点欠缺。我能够创建关系,但我不确定如何执行以下操作:取消、拒绝、接受 因此,假设我尝试取消关系,我在挂起上执行以下操作,调用我执行以下操作的操作: <% @customer.pending_friends.each do |pf| %> <%= link_to pf.incomplete_name, cancel_friendships_path(:friend_id =&g
<% @customer.pending_friends.each do |pf| %>
<%= link_to pf.incomplete_name, cancel_friendships_path(:friend_id => pf), :method => :post %><br />
<% end %>
这是我的分手函数
# Delete a friendship or cancel a pending request.
def self.breakup(customer, friend)
transaction do
destroy(find_by_customer_id_and_friend_id(customer, friend))
destroy(find_by_customer_id_and_friend_id(friend, customer))
end
end
然而,当点击取消链接时,我得到了一个无路由错误的提示。我做错了什么
这是我的要求
route.rb
resources :friendships do
collection do
get 'cancel'
get 'decline'
end
end
resources :friendships
耙道
cancel_friendships GET /friendships/cancel(.:format) friendships#cancel
decline_friendships GET /friendships/decline(.:format) friendships#decline
GET /friendships(.:format) friendships#index
POST /friendships(.:format) friendships#create
GET /friendships/new(.:format) friendships#new
GET /friendships/:id/edit(.:format) friendships#edit
GET /friendships/:id(.:format) friendships#show
PUT /friendships/:id(.:format) friendships#update
DELETE /friendships/:id(.:format) friendships#destroy
/********************************************************/
friendships GET /friendships(.:format) friendships#index
POST /friendships(.:format) friendships#create
new_friendship GET /friendships/new(.:format) friendships#new
edit_friendship GET /friendships/:id/edit(.:format) friendships#edit
friendship GET /friendships/:id(.:format) friendships#show
PUT /friendships/:id(.:format) friendships#update
DELETE /friendships/:id(.:format) friendships#destroy
问题在于,在您的路线中,您有:
get 'cancel'
但您的取消链接正在执行post请求,而不是get:
<%= link_to ..., ..., :method => :post %>
在你看来:
<%= link_to pf.incomplete_name, cancel_friendships_path(:friend_id => pf), :method => :delete %>
pf),:方法=>:删除%>
您的代码可能有其他问题,但这是您必须解决的一件事。您可以发布您的
路由.rb
和rake路由的输出吗?
delete 'cancel'
<%= link_to pf.incomplete_name, cancel_friendships_path(:friend_id => pf), :method => :delete %>