2012-10-15 68 views
0

現在我正在爲項目管理應用程序Redmine編寫一個插件。 由於我是Rails的新手,我對查詢有疑問。Rails中的反向關聯

Redmine爲我提供了一個問題模型。在我的插件,我定義的附加IssueRates模型,它具有以下關聯:

class IssueRates < ActiveRecord::Base 
unloadable 

belongs_to :issue, 
... 

不過,我不想改變標準問題的模型有一個has_one association,以保持管理平臺代碼乾淨儘可能。

但現在我需要這樣的查詢:因爲缺少關聯

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

這顯然是行不通的。有沒有辦法扭轉這種關聯?因爲那樣,我甚至可以用.includes(:IssueRates)加急。

如果這是不可能的,我仍然可以得到IssueRates在一個單獨的查詢......

回答

1

我想你可以這樣做:

IssueRates.find_by_issue_id(i.id).amount 

好像不僅僅是增加has_one到更多的工作您的問題模型。

+0

是的,我知道如何從問題中獲得IssueRates,但我很好奇,如果有可能在Rails中使用關聯。我很確定在django的ORM中這是可能的。 – Moe