Ruby on rails 修改用户';s DB通过用户\控制器.rb中的代码
我有两个用户,我们叫他们UserA和UserB。UserA向UserB发送好友请求。这将导致在UserB的数据库中创建一个名为“Friendtokens”的新属性。使用的数据库是MongoDBRuby on rails 修改用户';s DB通过用户\控制器.rb中的代码,ruby-on-rails,ruby,mongodb,ruby-on-rails-4,Ruby On Rails,Ruby,Mongodb,Ruby On Rails 4,我有两个用户,我们叫他们UserA和UserB。UserA向UserB发送好友请求。这将导致在UserB的数据库中创建一个名为“Friendtokens”的新属性。使用的数据库是MongoDB Friendtokens:{“919839398393”=>{“atoken”=>“f704e803061e594150b09ad8acabfc6105ac85ab”,“已确认”=>true} 现在,当UserA决定删除UserB时,我需要修改UserB数据库的Friendtokens并从中删除UserA
Friendtokens:{“919839398393”=>{“atoken”=>“f704e803061e594150b09ad8acabfc6105ac85ab”,“已确认”=>true}
现在,当UserA决定删除UserB时,我需要修改UserB数据库的Friendtokens并从中删除UserA的手机号
如果您能给我一些指导,告诉我如何在users\u controller.rb中编写一个简单的代码,我将不胜感激。您提供的信息很少。以下是我可以建议的模型化:
class User
include Mongoid::Document
embeds_many :friend_tokens
field :phone_number
class FriendToken
include Mongoid::Document
embedded_in :user
belongs_to :friend, class_name: "User"
field :confirmed, type: Boolean
def phone_number
confirmed ? friend.phone_number : "Friend not confirmed, not showing user phone number !"
end
用户\u controller.rb
def create_friend_request
@user.friend_tokens << FriendToken.create(friend_request_params)
end
def confirm_friend_request
token = @userA.friend_tokens.select{|t| t.friend == @userB}.first
if token
token.confirmed = true
token.save
else
# Error message
end
end
def delete_friend
friend_for_A = @userA.friend_tokens.select{|t| t.friend == @userB}.first
# Check it has been found
if friend_for_A
# Delete friend token for A
friend_for_A.delete
# Switch to unconfirmed for user B (we can also assume the token exists)
friend_for_B = @userB.friend_tokens.select{|t| t.friend == @UserA}.first
friend_for_B.confirmed = false
friend_for_B.save
else
# Error messages
end
end
def创建朋友请求
@user.friend_令牌您有什么类型的数据库?如果没有这些信息,答案就不清楚/太宽泛了。@La comadreja:数据库是MongoDB。你能发布相关模型的代码吗?类用户等。。。