我正在为求职者建立一个系统来跟踪他们对使用Rails感兴趣的工作。我想根据用户对公司的兴趣程度对公司进行排名,这是通过平均公司发布的每个职位中用户声明的“兴趣水平”来确定的。因此,例如,沃尔玛可能会发布3个工作岗位,并且用户将提交他们对这些工作的兴趣水平,我们通过平均这3个兴趣水平来计算沃尔玛的整体利益。将有几家公司有几个工作岗位。
我的数据库有两个表:公司和工作,公司有很多工作,一个工作有一个公司。作业还具有“level_of_interest”属性,该属性应用于计算用户对公司的整体兴趣。
有没有办法只使用ActiveRecord方法?我目前的解决方案是:
Job.group('company_id').average(:level_of_interest)
然后使用Ruby将公司从生成的哈希中拉出来,但我认为可能有一种纯粹使用ActiveRecord的方法。
DB是PG,fwiw。
答案 0 :(得分:3)
这样的事情应该有效:
<Main class_id="0" tracking_level="0" version="0">
<etoto class_id="1" tracking_level="0" version="0">
<count>2</count>
<item_version>0</item_version>
<group_item class_id="2" tracking_level="0" version="0">
<assetid>1</assetid>
<assetdata class_id="3" tracking_level="0" version="0">
<name>dummy</name>
<sex>dummy</sex>
</assetdata>
</group_item>
<group_item>
<assetid>2</assetid>
<assetdata>
<name>dummy</name>
<sex>dummy</sex>
</assetdata>
</group_item>
</etoto>
<ptoto class_id="4" tracking_level="0" version="0">
<count>2</count>
<item_version>0</item_version>
<Pgroup_item class_id="5" tracking_level="0" version="0">
<hacc_groupid>1</hacc_groupid>
<hacc_groupdata>
<count>2</count>
<item_version>0</item_version>
<group_item>
<assetid>1</assetid>
<assetdata>
<name>dummy</name>
<sex>dummy</sex>
</assetdata>
</group_item>
<group_item>
<assetid>2</assetid>
<assetdata>
<name>dummy</name>
<sex>dummy</sex>
</assetdata>
</group_item>
</hacc_groupdata>
</Pgroup_item>
<Pgroup_item>
<hacc_groupid>2</hacc_groupid>
<hacc_groupdata>
<count>2</count>
<item_version>0</item_version>
<group_item>
<assetid>1</assetid>
<assetdata>
<name>dummy</name>
<sex>dummy</sex>
</assetdata>
</group_item>
<group_item>
<assetid>2</assetid>
<assetdata>
<name>dummy</name>
<sex>dummy</sex>
</assetdata>
</group_item>
</hacc_groupdata>
</Pgroup_item>
</ptoto>
</Main>