Ruby on rails rails活动记录:从两个不同的表/源检索和组合相似的数据

Ruby on rails rails活动记录:从两个不同的表/源检索和组合相似的数据,ruby-on-rails,activerecord,ruby-on-rails-4,Ruby On Rails,Activerecord,Ruby On Rails 4,在我的新rails 4.1应用程序中,我有两个数据模型: 每日汇总数据,如字段销售、日期等,填写到昨天 来自API的实时数据,每分钟提取一次,内容相同,但名称不同,例如字段收入、时间戳等。。。 在一个视图中,我想显示每日数据1+当前的最后一个值,这是来自实时流2的最后一个值-然后在用户重新加载时更新 问题是,两个表中的命名非常不同,而且一些数据字段也不同,所以 data = daily_data + current_data.last 不起作用。我的想法如下: 仅选取有问题的列: daily_

在我的新rails 4.1应用程序中,我有两个数据模型:

每日汇总数据,如字段销售、日期等,填写到昨天 来自API的实时数据,每分钟提取一次,内容相同,但名称不同,例如字段收入、时间戳等。。。 在一个视图中,我想显示每日数据1+当前的最后一个值,这是来自实时流2的最后一个值-然后在用户重新加载时更新

问题是,两个表中的命名非常不同,而且一些数据字段也不同,所以

data = daily_data + current_data.last
不起作用。我的想法如下:

仅选取有问题的列:

daily_data.select("sales, date")
live_data.select("revenue, timestamp").last
将时间戳修改为日期

live_data.timestamp.to_date
将销售额与收入进行匹配,并仅在视图中合并/合并两者,而不是在ActiveRecord中

我的想法还好吗?我应该如何着手实施它?我是不是错过了什么?我还尝试了单表继承,并考虑定义一个父数据模型company_data,并将每日_数据和实时_数据都作为它的子模型,但这可能有点过头了——或者是吗

编辑:

手术后,我计划使用

.group_by_date
使用ChartKick将数据显示为图表

编辑结束

抱歉,如果这个问题是愚蠢的,我还是rails新手,搜索了1.5小时

提前谢谢你

daily_data.select("sales as revenue, date as datadate")
live_data.select("revenue, timestamp as datadate").last
这样,在这两种情况下,属性都将是revenue和datadate

编辑:

您对group_by的评论是附加信息,不在原始问题中。由于group_by由数据库计算,因此您仍然需要将数据库中使用的字段名发送给它。选择解决方案仅更改ActiveRecord对象中的属性

@data = daily_data.select("sales as revenue, date as datadate").group_by_date(:date)
@data << live_data.select("revenue, timestamp as datadate").last

我希望它能起作用,当我尝试传递图表的数据时,例如,图表数据=每日数据。选择销售作为收入,日期作为数据日期,然后选择图表数据。分组日期:数据日期。汇总:收入失败,而每日数据。分组日期:日期。汇总:销售仍然有效。有趣的是,调试器chart_data.inspect不显示revenue和datadate的值,但chart_data[:revenue]。首先有一个值,可通过找到该值。你能再快速看一下这个吗?非常感谢。非常感谢,我现在开始工作了!我也学到了很多。很抱歉,没有在前面指定分组所需的数据,虽然最初这不是问题的一部分。还更新了问题。