我正在使用 amistad 作为朋友控制器。现在我想添加朋友,但我得到的错误是:
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id..
这是我添加朋友的链接:
<section>
<h1>
<%= @user.username %>
</h1>
<% unless current_user == @user %>
<%= link_to "Arkadaşlarıma Ekle", friends_path(:friend_id => @user), :method => :post,class: "btn btn-large btn-primary" %>
<%end %>
</section>
和我的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 new
@users = User.all :conditions => ["id != ?", current_user.id]
end
def create
invitee = User.find_by_id(params[:user_id])
if current_user.invite invitee
redirect_to new_friend_path, :notice => "Successfully invited friend!"
else
redirect_to new_friend_path, :notice => "Sorry! You can't invite that user!"
end
end
def update
inviter = User.find_by_id(params[:id])
if current_user.approve inviter
redirect_to new_friend_path, :notice => "Successfully confirmed friend!"
else
redirect_to new_friend_path, :notice => "Sorry! Could not confirm friend!"
end
end
def requests
@pending_requests = current_user.pending_invited_by
end
def invites
@pending_invites = current_user.pending_invited
end
def destroy
user = User.find_by_id(params[:id])
if current_user.remove_friendship user
redirect_to friends_path, :notice => "Successfully removed friend!"
else
redirect_to friends_path, :notice => "Sorry, couldn't remove friend!"
end
end
end
我怎样才能为 amistad 安排正确的观点?有教程吗?