【发布时间】:2017-07-20 18:28:07
【问题描述】:
我有三张桌子:
DataRow (id, user_id)
DataPoint (id, data_row_id, data_type_id)
DataType (id, name, weight)
我设置了以下关联:
data_row.rb
has_many :data_points
data_point.rb
belongs_to :data_row
belongs_to :data_type
在我看来,我想显示一个表格,其中每个 DataType 都有一个列。我的问题是,并非每个 DataRow 都包含每个 DataType 的 DataPoint。
如果我执行以下操作,我将只获得该 DataRow 存在的 DataPoints
@rows = DataRow.includes(:data_points).where(user_id: params[:id])
有没有一种方法可以为每个用户返回每个 DataRow 的每个 DataType 的 DataPoint,这样我就可以简单地遍历返回的 DataRows? DataType 的“权重”列是显示顺序。
提前致谢!
【问题讨论】:
-
你的问题很难理解。你能澄清一下吗?正如我根据您的代码看到的那样,您只想显示给定用户的数据,但您编写的却相反。
-
抱歉含糊不清。我更改了我写的内容以表明我想显示给定用户的数据。
标签: ruby-on-rails activerecord ruby-on-rails-5