【发布时间】:2017-05-22 16:33:09
【问题描述】:
我正在浏览 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
【问题讨论】:
标签: ruby-on-rails ruby activerecord ruby-on-rails-5