gpt4 book ai didi

ruby-on-rails - 在 rails 中相交列表的最快方法?

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

我有三个模型。用户、页面和网络。

  • 用户有_很多网络
  • 网络属于用户和页面
  • 页面有_many 网络。

我正在编写一个 Page#visible_to?(user) 方法,想知道是否有比我目前正在做的更快/更有效/更好的方法。如果任何用户的网络也链接到页面,该方法应返回 true。

当前实现:

def visible_to?(user)
return true if networks.empty
user_network_ids = user.networks.pluck(:id)
!networks.detect { |network| user_network_ids.include?(network.id) }.nil?
end

其他选项包括使用 & 运算符来确定交集,或将此方法放在 User 上。想法?

最佳答案

def visible_to?(user)
return true if networks.empty?
(user.networks & networks).size > 0
end

关于ruby-on-rails - 在 rails 中相交列表的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079373/

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