gpt4 book ai didi

ruby-on-rails - 通过 users_controller.rb 中的代码修改用户的数据库

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:52 24 4
gpt4 key购买 nike

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

Friendtokens: {"919839398393"=>{"atoken"=>"f704e803061e594150b09ad8acabfc6105ac85ab", "confirmed"=>true}}

现在,当 UserA 决定删除 UserB 时,我需要修改 UserB 数据库的 Friendtokens 并删除 UserA 的手机号码。从它。

任何关于如何通过在 users_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

用户 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

关于ruby-on-rails - 通过 users_controller.rb 中的代码修改用户的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com