gpt4 book ai didi

ruby-on-rails - 我怎样才能改进这个 Rails 代码?

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:34 26 4
gpt4 key购买 nike

我正在编写一个小的浏览器游戏作为一个项目来学习 RoR,我对它还很陌生。

这是一个由 cronjob 定期调用的小方法。

我猜应该有一些方法可以将元素添加到 potions 数组,然后在最后进行批量保存,我也不喜欢在循环中每次都点击数据库来获取项目的数量再次进入市场。

def self.restock_energy_potions
market = find_or_create_market

potions = EnergyPotion.find_all_by_user_id(market.id)

while (potions.size < 5)
potion = EnergyPotion.new(:user_id => market.id)
potion.save
potions = EnergyPotion.find_all_by_user_id(market.id)
end
end

最佳答案

我不确定我是否理解您的问题。您正在寻找这样的东西吗?

def self.restock_energy_potions
market = find_or_create_market
potions = EnergyPotion.find_all_by_user_id(market.id)
(potions.size...5).each {EnergyPotion.new(:user_id => market.id).save }
end
end

注意范围内的三重点;如果已经有 5 个药水,您就不想再制作药水了。

此外,如果您的药水已链接(例如通过 has_many),您可以通过 market.potions 属性创建它们(我在这里猜测,关于两者之间的关系用户和市场——细节取决于你的模型是如何设置的)并一次保存它们。不过,我认为数据库节省不会很大。

关于ruby-on-rails - 我怎样才能改进这个 Rails 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/744880/

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