Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails .where嵌套属性的属性=字符串_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

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