假设有一个名为
有没有一种方法可以使用数据库删除
例如,希望能够像这样做:
Job
的活动记录模型,其中包含一个数组列follower_ids
。我已经创建了一个范围(scope),可以获取用户关注的所有工作:# Returns all jobs followed by the specified user id
def self.followed_by(user_id)
where(
Arel::Nodes::InfixOperation.new(
'@>',
Job.arel_table[:follower_ids],
Arel.sql("ARRAY[#{user_id}]::bigint[]")
)
)
end
# Retrieve all jobs followed by user with id=1
Job.followed_by(1)
有没有一种方法可以使用数据库删除
follower_ids
列中的特定元素(即不通过循环遍历活动记录对象并手动调用delete
/ save
来完成)?例如,希望能够像这样做:
Job.followed_by(1).remove_follower(1)
,以便在一个查询中从所有这些工作的follower_ids
中删除id = 1
的用户。