Ruby on rails .where嵌套属性的属性=字符串
我想计算所有受伤的身体群的百分比,但无法计算出来 损伤模型:Ruby on rails .where嵌套属性的属性=字符串,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我想计算所有受伤的身体群的百分比,但无法计算出来 损伤模型: class Injury < ActiveRecord::Base belongs_to :player belongs_to :season has_one :injury_type end 但是我被卡住了。在我看来,这应该非常简单,比如: = Injury.where(injury_type.body_group_id => 1).count 如何打印body group id为1的受伤人数?我做错了什
class Injury < ActiveRecord::Base
belongs_to :player
belongs_to :season
has_one :injury_type
end
但是我被卡住了。在我看来,这应该非常简单,比如:
= Injury.where(injury_type.body_group_id => 1).count
如何打印body group id为1的受伤人数?我做错了什么?我试过这个:
= Injury.joins(:body_group => :injury_type).where(:body_group => {:id => 1} )
…但这只给了我
#
,我无法将其转换为.count或.sum。您可能正在寻找如下关联:
class Injury < ActiveRecord::Base
belongs_to :injury_type
end
class InjuryType < ActiveRecord::Base
belongs_to :body_group
has_many :injuries
end
class BodyGroup < ActiveRecord::Base
has_many :injury_types
end
您正在寻找如下所示的关联:
class Injury < ActiveRecord::Base
belongs_to :injury_type
end
class InjuryType < ActiveRecord::Base
belongs_to :body_group
has_many :injuries
end
class BodyGroup < ActiveRecord::Base
has_many :injury_types
end
您正在寻找如下所示的关联:
class Injury < ActiveRecord::Base
belongs_to :injury_type
end
class InjuryType < ActiveRecord::Base
belongs_to :body_group
has_many :injuries
end
class BodyGroup < ActiveRecord::Base
has_many :injury_types
end
您正在寻找如下所示的关联:
class Injury < ActiveRecord::Base
belongs_to :injury_type
end
class InjuryType < ActiveRecord::Base
belongs_to :body_group
has_many :injuries
end
class BodyGroup < ActiveRecord::Base
has_many :injury_types
end
这难道不要求InjuryType有一个伤害id,这意味着每个伤害都有一个新的伤害类型吗?如果我添加这些关联并使用您编辑的代码段,它会导致
PG::UndefinedColumn:ERROR:column injury\u types.injury\u id不存在它应该是:“一个injury
属于一个伤害类型”
(假设有一个专栏)。一个伤害类型
显然有很多伤害
。你可以有20个骨折伤害。@Fietsband:我完全同意;@Ix Techau你能解释一下伤害
和伤害类型
之间的关联吗好的,这些关联更有意义。我改变了他们,所以现在是:受伤属于受伤类型,而受伤类型有很多受伤。如果我现在执行Injury.joins(Injury\u type::body\u group).where(“body\u groups.id=1”).count
,它不会中断,但始终为0。如果我执行:Pulk,则数组为空。这难道不要求InjuryType具有伤害id,这意味着每个伤害都有一个新的伤害类型吗?如果我添加这些关联并使用您编辑的代码段,它会导致PG::UndefinedColumn:ERROR:列伤害类型。伤害id不存在
它应该是:“一个伤害
属于一个伤害类型
(假设有一个列)。而且一个损伤类型
有许多损伤
明显'。例如,你可能有20处骨折。@Fietsband:我完全同意;)@Ix Techau您能解释一下伤害
和伤害类型
之间的关联吗好的,这些关联更有意义。我改变了他们,所以现在是:受伤属于受伤类型,而受伤类型有很多受伤。如果我现在执行Injury.joins(Injury\u type::body\u group).where(“body\u groups.id=1”).count
,它不会中断,但始终为0。如果我执行:Pulk,则数组为空。这难道不要求InjuryType具有伤害id,这意味着每个伤害都有一个新的伤害类型吗?如果我添加这些关联并使用您编辑的代码段,它会导致PG::UndefinedColumn:ERROR:列伤害类型。伤害id不存在
它应该是:“一个伤害
属于一个伤害类型
(假设有一个列)。而且一个损伤类型
有许多损伤
明显'。例如,你可能有20处骨折。@Fietsband:我完全同意;)@Ix Techau您能解释一下伤害
和伤害类型
之间的关联吗好的,这些关联更有意义。我改变了他们,所以现在是:受伤属于受伤类型,而受伤类型有很多受伤。如果我现在执行Injury.joins(Injury\u type::body\u group).where(“body\u groups.id=1”).count
,它不会中断,但始终为0。如果我执行:Pulk,则数组为空。这难道不要求InjuryType具有伤害id,这意味着每个伤害都有一个新的伤害类型吗?如果我添加这些关联并使用您编辑的代码段,它会导致PG::UndefinedColumn:ERROR:列伤害类型。伤害id不存在
它应该是:“一个伤害
属于一个伤害类型
(假设有一个列)。而且一个损伤类型
有许多损伤
明显'。例如,你可能有20处骨折。@Fietsband:我完全同意;)@Ix Techau您能解释一下伤害
和伤害类型
之间的关联吗好的,这些关联更有意义。我改变了他们,所以现在是:受伤属于受伤类型,而受伤类型有很多受伤。如果我现在执行Injury.joins(Injury\u type::body\u group).where(“body\u groups.id=1”).count
,它不会中断,但始终为0。如果我执行:pull,则数组为空。您应该在where
子句中使用表名,中的关系名包括/连接(请参阅和本答案中链接的类似问题)您应该在where
子句中使用表名,中的关系名称包括
/连接
(请参阅和本答案中链接的类似问题)您应该在where
子句中使用表名,中的关系名称包括
/连接
(请参阅和本答案中链接的类似问题)您应该在where
子句中使用表名,中的关系名包括
/连接
(请参阅和本答案中链接的类似问题)
Injury.joins(:injury_type).where(body_group_id: 1).count