【发布时间】:2015-07-15 15:26:28
【问题描述】:
我想知道在 Rails 中是否可以执行以下操作。我对 Rails 很陌生,但这似乎是我希望 Rails 能够实现的那种类型......
我想知道一个 DB 方法(例如,find)是否可以获取一个对象并自动知道在适当的外键列中查找其 ID 值,而无需给出其名称那一栏。
我的具体用例是我想创建一个 通用 方法来检查两个模型是否通过连接表关联。
(换句话说,不同的表将链接不同的模型,因此将使用不同的列名。我希望能够传入一些东西[可能是相关类的对象],Rails 会知道id应在sample_model_id 列中搜索@sample_model 的SampleModel 类。)
所以方法应该是这样的:
def connected? (connection_table, model1, model2)
connection_table.class.find_by(model1, model2)
end
…并且该方法可以自动知道它正在查找 model1_id 列中的 model1.id 和 model2_id 列中的 model2.id。
这(或类似的)可能吗?如果没有,有没有其他方法可以实现我的目标(通用连接检查器方法)?
【问题讨论】:
标签: ruby-on-rails ruby