使用自定义外键访问Rabl中的子实例

时间:2014-04-28 21:52:53

标签: ruby-on-rails-4 rabl

我有一张名为" 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的决定则是另一种选择。

0 个答案:

没有答案