2013-07-21 38 views
0

我創建一個網站,您可以將音樂數據發送到服務器,它將其保存併爲您提供獨特的「閃光燈」。我想自我參考歌曲數據到閃光燈。但我需要在歌曲表中有一個flash_id字段,但是因爲我希望同一首歌曲的一首歌曲條目不起作用(我希望計算該歌曲「閃現」的次數)自引用共同數據庫對象

每個Flash都像推文或帖子。它是連接到用戶

感謝

宋型號

class Song < ActiveRecord::Base 
    belongs_to :flash 
end 

閃存型號

class Flash < ActiveRecord::Base 
    belongs_to :user 
    has_one :song 
end 

回答

0

你說,一首歌曲可以 「亮出」 好幾次,我asume一個閃光燈正好閃爍一首歌曲。
所以你的關係必須是相反的:flash必須包含song_id。
可以使導軌保持每首歌曲的閃爍的緩存數量,如果song有一列flashes_count

宋型號

class Song < ActiveRecord::Base 
    has_many :flashes 
end 

閃存型號

class Flash < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :song, counter_cache: true 
end