gpt4 book ai didi

ruby-on-rails - Rails 上不同列类型的最佳实践

转载 作者:行者123 更新时间:2023-12-04 05:49:19 25 4
gpt4 key购买 nike

我在 Rails 中有一个模型,它引用属于用户的 game_item。该武器有一个 is_equipped 列,类似于该元素是否已装备。 game_item 可以是武器、 Helm 等(由 game_item 模型中的 item_type 指定)。

现在,我正在寻找一种获得每种类型装备元素的好方法。我可以做一些事情,比如 get_equipped_item(type) 并指定类型,或者 get_equipped_helmet、get_equipped_weapon 等。我正在寻找更好的方式来做到这一点,rails 方式 :) 有什么想法吗?

最佳答案

您可以使用 scopes为此。

有点像

scope :equipped, where(:is_equipped => true)
scope :helmet, where(:item_type => 'helmet')
scope :weapon, where(:item_type => 'weapon')

然后将它们用作

ModelName.equipped # => all equipped items
ModelName.helmet.equipped # => all equipped helmets

进一步阅读:http://edgerails.info/articles/what-s-new-in-edge-rails/2010/02/23/the-skinny-on-scopes-formerly-named-scope/index.html , http://asciicasts.com/episodes/215-advanced-queries-in-rails-3

关于ruby-on-rails - Rails 上不同列类型的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4764301/

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