Mongodb Amistad Mongoid保存不会持久
我刚刚开始将Amistad与Mongoid一起使用,我发现当前的_用户invite(@user)没有保存到Mongo。我在控制台和Rails应用程序中完成了这项工作,我确定该方法确实有效,因为该方法返回true,但数据不会持久化。还有其他人有这个问题吗?我的mongo db确实有效。我已经用它保存了各种数据,但是Amistad-friend方法没有 以下是控制器操作:Mongodb Amistad Mongoid保存不会持久,mongodb,mongoid,Mongodb,Mongoid,我刚刚开始将Amistad与Mongoid一起使用,我发现当前的_用户invite(@user)没有保存到Mongo。我在控制台和Rails应用程序中完成了这项工作,我确定该方法确实有效,因为该方法返回true,但数据不会持久化。还有其他人有这个问题吗?我的mongo db确实有效。我已经用它保存了各种数据,但是Amistad-friend方法没有 以下是控制器操作: def invite_friend @user = User.find params['id'] res = curre
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(),以确保可以看到Mongo输出一个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}})
invite()方法不应该保存吗?根据Amistad,如果用户是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
返回的用户是否是您期望的用户,并且与该用户没有现有关系