gpt4 book ai didi

ruby-on-rails - 不确定这段代码如何阅读

转载 作者:数据小太阳 更新时间:2023-10-29 08:35:53 24 4
gpt4 key购买 nike

我正在浏览 github 看很酷的代码,但不明白这段代码的作用:

我知道有 2 个 belongs_to 关联,但我不明白“self.request”方法的含义和作用。

此外,“事务”不是用于 SQL 数据库查询而不是 ruby​​ 代码吗?

有人可以澄清一下吗?

class Friendship < ActiveRecord::Base
belongs_to :friend, :class_name => "User", :foreign_key => "friend_id"
belongs_to :user


def self.request(user, friend)
unless user == friend or Friendship.exists?(user, friend)
transaction do
create(:user => friend, :friend => user, :status => 'requested')
create(:user => user, :friend => friend, :status => 'pending')
end
end
end

最佳答案

def self.request 表示它是类方法,即你可以调用它 Friendship.request(user1, user2)

在其中我们检查它是否不是同一个用户,或者友谊已经存在。

如果没有,我们在 frienships 表中创建 2 条记录,包裹在事务中。 IE。如果任何插入失败 - 不会发生插入。

关于ruby-on-rails - 不确定这段代码如何阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41530663/

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