2015-09-15 27 views
0

我想關注this answer,我想弄清楚如何在反饋中顯示評論者的姓名。答案下面的評論說讓reviewer_id屬於審查。這是否意味着審查模式中必須有一個檢查?我沒有一個叫審稿人的模式,所以它對這個建議意味着什麼感到困惑。Rails 4 - 用戶對其他用戶的反饋

+2

我認爲你需要閱讀關於自我指涉協會。請參閱:http://railscasts.com/episodes/163-self-referential-association – psantos

+0

您可以添加模型的來源以更好地展示您想要做的事情嗎? –

+0

嗨,psantos-是的,我讀過它,但沒有 - 這沒有幫助。你可以從後面的答案中看到我試圖理解評論者不是模型。這是評論表中的一個屬性。 – Mel

回答

-1

所以,你有這兩種模式:

#app/models/review.rb 
class Review < ActiveRecord::Base 
    belongs_to :user 
end 

#app/models/user.rb 
class User < ActiveRecord::Base 
    has_many :reviews 
end 

現在,你需要添加審閱進入審查。因爲它已經提到的,你需要添加相應的reviewer_id列和修改模型:

class Review < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :reviewer, class_name: 'User', foreign_key: 'reviewer_id' 
end 

您還可以選擇評論,這是由給定用戶評論:

class User < ActiveRecord::Base 
    has_many :reviews 
    has_many :reviewed, class_name: 'Review', foreign_key: 'reviewer_id' 
end 
+0

嗨dimakura - 不,用戶收到評論。該評論由另一個用戶提供。對第一個答案的評論意味着通過向名爲reviewer_id的評論模型添加另一個屬性來標識評論者。 – Mel

+0

@ user2860931查看更新的答案 – dimakura

+0

您建議我修改哪個模型?我沒有「審查者」模型。我有一個用戶模型和一個評論模型。 – Mel