2010-06-05 21 views
1

我在Rails應用程序中有兩個模型/表格:討論和評論。每個討論has_many的評論,以及每個評論belongs_to的討論。我的討論表還包括一個first_comment_id列和last_comment_id列以方便和快速。我希望能夠調用discussion.last_comment最後評論的模式,但下面(在我的討論模型)不工作來實現這一目標:我應該在這種情況下使用哪種類型的Rails模型關聯?

has_one :first_comment, :class_name => "Comment" 
has_one :last_comment, :class_name => "Comment" 

當我打電話discussion.last_comment,下面的SQL運行:

SELECT * FROM `comments` WHERE (`comments`.discussion_id = 1) LIMIT 1 

它使用discussions.id列加入對comments.discussion_id,當我想它加入discussions.last_comment_idcomments.id

我在這裏使用了錯誤的關聯類型嗎?謝謝你的幫助!

回答

2

嘗試一個belongs_to,而不是has_one

命名可能很奇怪,但兩者之間的差異實際上只是關於哪個表包含外鍵列。

+0

這似乎工作 - 謝謝! – 2010-06-05 22:32:28

相關問題