友谊无法找到没有ID错误的用户

时间:2012-07-19 11:58:15

标签: ruby-on-rails

我正在尝试使用amistad作为友谊宝石..但我无法让它正常工作。我使用devise作为身份验证系统,当我添加点击添加好友链接时我的问题:

    <% unless current_user == @user  %>
   <%= link_to "Arkadaşlarıma Ekle", friends_path(:friend_id => @user), :method => :post,class: "btn btn-large btn-primary" %>
   <%end %>

我找不到没有ID错误的用户。我找不到正确的链接。 Friendships_controller.rb:

class FriendshipsController < ApplicationController
  before_filter :authenticate_user!

  def index
    @friends = current_user.friends
    @pending_invited_by = current_user.pending_invited_by
    @pending_invited = current_user.pending_invited
  end

  def create
    @Friend = User.find(params[:user_id])
    @friendship_created = current_user.invite(@Friend)
    if @friendship_created
      flash.now[:notice] = "Une demande d'amiti a t envoye  #{@friend.fullname}"
    end
  end

  def approve
    @Friend = User.find(params[:user_id])
    @friendship_approved = current_user.approve(@Friend)
    @friends = current_user.friends
    @pending_invited_by = current_user.pending_invited_by
    flash.now[:notice] = "La demande d'amiti de #{@friend.fullname} a t approuve"
  end

  def remove
    @Friend = User.find(params[:user_id])
    @friendship = current_user.send(:find_any_friendship_with, @Friend)
    if @friendship
      @friendship.delete
      @removed = true
      flash.now[:notice] = "Artık  #{@friend.fullname} ile arkadaşsınız"
    end
  end
end

感谢您的回答。

2 个答案:

答案 0 :(得分:0)

您无法通过普通链接发送HTTP POST请求(不会触发AJAX请求)。将表单替换为表单,可以通过form_for等手动创建,也可以使用button_to生成。

答案 1 :(得分:0)

我修好了。我必须使用friends_path(:user_id => @user),而不是friends_path(:friend_id => @user),

我仍然需要一个很好的方法来解决amistad观点。