Rails中的反向关联

时间:2012-10-15 17:38:00

标签: ruby-on-rails associations redmine

现在我正在编写项目管理应用程序Redmine的插件。 由于我是Rails的新手,我对查询有疑问。

Redmine为我提供了一个问题模型。在我的插件中,我正在定义一个额外的IssueRates模型,它具有以下关联:

class IssueRates < ActiveRecord::Base
unloadable

belongs_to :issue,
...

但是,我不想将标准问题模型更改为has_one association,以使redmine代码尽可能保持干净。

但现在我需要这样的查询:

project_issues=Issue.where(:project_id => some_id)
project_issues.each do |i|
    puts i.IssueRates.amount
end

由于缺少关联,这显然不起作用。有没有办法扭转这种关联?因为那时,我甚至可以使用.includes(:IssueRates)的急切加载。

如果无法做到这一点,我仍然可以在单独的查询中获取IssueRates ......

1 个答案:

答案 0 :(得分:1)

我想你可以这样做:

IssueRates.find_by_issue_id(i.id).amount

似乎更多的工作不仅仅是在问题模型中添加has_one