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

标签 ruby-on-rails ruby mongodb ruby-on-rails-4

我有两个用户,我们称他们为 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/

相关文章:

jquery - 在 Rails 中使用数据表时,使用 "accepts_nested_attributes_for"的 Id 字段消失

ruby-on-rails - 关于dynos数量的建议

ruby-on-rails - 雷中的重复物体

javascript - 在 HTML 中传递 javascript 选项

python - 如何开始将 Bottle-Cork 与 MongoDB 结合使用?

node.js - 带有子文档的 Mongoose 模式字段名称和类型

ruby-on-rails - Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 读取

ruby - 如何简化此 Enumerator 代码?

ruby-on-rails - Ruby on Rails Instagram Gem 点赞和评论计数无法正常工作

javascript - 无法更新 Mongoose 值