Ruby on rails 为Rails模块创建自定义字段

Ruby on rails 为Rails模块创建自定义字段,ruby-on-rails,Ruby On Rails,我有一个用户模型,其中包含一些用户信息,如灵活性、强度等。用户拥有许多库存物品,这些物品还具有额外的力量、灵巧度等 将这些值结合起来获取用户对象的更好方法是什么?我的意思是,类似于current\u user.dextrity=current\u user.dextrity+current\u user.inventory\u item.dextrity,但以更好的方式,将所有属性组合在一个易于访问的对象中 此外,我认为查找在这里很重要,因为我还想:包括一些更多的信息,如:game_item(数

我有一个用户模型,其中包含一些用户信息,如灵活性、强度等。用户拥有许多库存物品,这些物品还具有额外的力量、灵巧度等

将这些值结合起来获取用户对象的更好方法是什么?我的意思是,类似于
current\u user.dextrity=current\u user.dextrity+current\u user.inventory\u item.dextrity
,但以更好的方式,将所有属性组合在一个易于访问的对象中


此外,我认为查找在这里很重要,因为我还想:包括一些更多的信息,如:game_item(数据库中与库存项目相对应的项目的静态表示)。

您可能可以执行以下操作:

class User < ActiveRecord::Base has_many :inventory_items def dexterity read_attribute(:dexterity)+inventory_items.includes(:game_items).inject(0){ |s,i| s += i.dexterity) end end 类用户 current_user.inventory_items.all.sum(&:dexterity) 当前用户.库存项目.全部.总和(&:灵活性) thanx:)我认为后一种方法是最简单也是最好的。