2014-10-30 71 views
0

在過去的幾個小時裏,我一直在搜尋我的大腦,認爲我會請求這裏的專家提供一些幫助。圍欄,與設計3個不同的模型相關聯

我有3個型號:用戶,帖子,評論。我正在使用Devise進行身份驗證。

用戶有一個頭像字段。帖子has_many評論。評論屬於帖子。

我想在評論中基本顯示用戶的頭像(位於用戶模型中)。獲得評論用戶頭像的語法是什麼?

現在,我有:

@post.user.avatar 

這工作,但基本上顯示誰在每一個評論頭像照片(不正確)公佈的用戶。我需要以某種方式獲得評論者的頭像,但不知道正確的方法是做什麼來處理控制器查詢/視圖/模型調用。

協會:

Post: 
has_many :comments, dependent: :destroy 
belongs_to :user 

Comment: 
belongs_to :post 

User: 
has_many :posts, dependent: :destroy 

感謝這麼多提前!

+0

用戶has_many評論和has_many帖子?發佈has_many評論? – Anthony 2014-10-30 18:12:06

+0

請將您的所有關聯發佈到您的用戶,發佈和評論模型(即'belongs_to'和'has_many'),以便我們可以看到整個圖片。 – nikkon226 2014-10-30 18:28:55

+0

感謝您的留言 - 我已將所有關聯添加到我的原始文章中。乾杯! – gitastic 2014-10-30 18:43:57

回答

0

您錯過了評論和用戶之間的關係。必須由用戶發表評論,對吧?你所說的並不存在。評論屬於帖子,但他們同時屬於發表評論的用戶。

現在,您只是顯示發佈人的頭像,因爲這是帖子所屬的人。

因此,對於給定帖子的第一條評論,它將是@post.comments.first.user.avatar。現在,顯然這可以通過一些重構來實現,但爲了清晰起見,我將其留下。例如,您可以在視圖中編寫顯示帖子的評論,然後創建評論部分視圖,該視圖處理抓取評論用戶的頭像並顯示它。

相關問題