Ruby on rails 修改用户';s DB通过用户\控制器.rb中的代码

Ruby 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

我有两个用户,我们叫他们UserA和UserB。UserA向UserB发送好友请求。这将导致在UserB的数据库中创建一个名为“Friendtokens”的新属性。使用的数据库是MongoDB

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。你能发布相关模型的代码吗?类用户等。。。