我有一张名为" decision"并且每个决定在表格中都有更多的依赖关系"依赖"。表"依赖"与表格相关联"决定"通过两个外键,称为" decision_1_id"和" decision_2_id"。当我尝试打印决定时,我想使用这两个字段之一打印其依赖项。 使用此代码:
object @decision
child :dependences do
attributes :id, :decision_id_1, :decision_id_2, :relationship
end
Rabl将尝试找到" decision_id"不存在的领域。你知道任何指定外键的解决方案吗?
更新
我的模型是下一个:
class Dependence < ActiveRecord::Base
belongs_to :decision_1, :class_name => 'Decision', :foreign_key => 'decision_1_id'
belongs_to :decision_2, :class_name => 'Decision', :foreign_key => 'decision_2_id'
end
class Decision < ActiveRecord::Base
has_many :dependences
end
更新2 输出的一个例子可能就是这个:
[
{
"id":1,
"name":"First decision",
"dependences": [
{
"id":1,
"decision_1_id": 1,
"decision_2_id": 2,
"relationship": "depends on"
},
{
"id": 2,
"decision_1_id": 1,
"decision_2_id": 3,
"relationship": "alternative for"
}
]
},
.... // decision 2 + decision 3
]
这个意思可能是这样的:id为1的决定取决于id为2的决定,而对于id为3的决定则是另一种选择。