2012-08-10 2 views
0

나는 Mongoid와 함께 Amistad를 사용하기 시작했고, current_user.invite (@user)가 Mongo에 저장하지 않는다는 것을 알게되었다. 콘솔과 Rails 애플리케이션에서이 메소드를 수행했는데, 메소드가 true를 반환하지만 데이터가 지속되지 않기 때문에 메소드가 작동한다고 판단했습니다. 다른 사람이이 문제를 겪었습니까? 내 몽고 db가 작동합니다. 나는 모든 종류의 데이터를 저장했지만, Amistad의 친구 방법은 그렇지 않다.Amistad Mongoid Save가 지속되지 않음

def invite_friend 
    @user = User.find params['id'] 
    res = current_user.invite(@user) 
    current_user.last_name = 'hamilton123' 
    current_user.save 

    respond_to do |format| 
    format.html 
    format.js{ render :js => "$('#friend_#{params['id']}').text('Pending')" } 
    end 
end 

다음 실행()을 .invite 후 로그 출력의 일부입니다 :

다음은 컨트롤러 액션입니다. 나는 또한 current_user.save() 그냥 거기가 초대() 메소드를 위해 저축해야하지

MONGODB yansn_development['system.namespaces'].find({}) 
MONGODB yansn_development['users'].find({:_id=>BSON::ObjectId('4f8b100dbf0d820513000007')}).limit(-1).sort([[:_id, :asc]]) 
MONGODB yansn_development['users'].find({:_id=>BSON::ObjectId('4f8b0fd2bf0d82055b000001')}).limit(-1).sort([[:_id, :asc]]) 
MONGODB yansn_development['users'].update({"_id"=>BSON::ObjectId('4f8b100dbf0d820513000007')}, {"$set"=>{"last_name"=>"hamilton123", "updated_at"=>2012-04-15 19:06:21 UTC}}) 

저장 몽고 출력 a를 볼 수 있는지 확인 했습니까?

답변

0

아미 스타드 source에 따르면 사용자가 self 또는 우정은 이미 다음과 같은 방식으로, 사용자와 함께있는 경우 경우 메소드는 false를 반환합니다

def invite(user) 
    return false if user == self || find_any_friendship_with(user) 
    Friendship.new(:user_id => self.id, :friend_id => user.id).save 
end 

내가 확인 할 경우 사용하면 find과 함께 돌아오고 있다는 것은 실제로 예상하고있는 것으로서 사용자와 기존 관계가 없습니다.

관련 문제