2012-06-16 65 views
0

我有所謂的「注意事項」一主模型,有以下幾點:的Rails通過=搜索>模型關係

attr_accessible :name, :label_tokens 
has_many :labelships 
has_many :labels, :through => :labelships 
attr_reader :label_tokens 

所以基本上Note_id & Label_id保持在Labelships表。

我想要做的是創建一個不同的標籤列表,並創建一個鏈接對每個值的相應注意。

示例:注意'mynote'有一個標籤'git',通過標籤表關聯,我希望Git出現在其他標籤列表中,然後當我點擊git時,我得到一個Notes列表標籤上有'git'標籤。

回答

1

假設你有以下型號:

class Note 
    has_many :labelships 
    has_many :labels, :through => :labelships 
end 

class Labelships 
    belongs_to :note 
    belongs_to :label 
end 

class Label 
    has_many :labelships 
    has_many :notes, :through => :labelships 
end 

現在給出一個標籤,你可以得到它的注意事項如下:

label.notes 

要排除的說明在手:

label.notes.where("id != ?", note.id) 
+0

我是否會在模型或控制器中包含該功能,能否向我展示一個快速示例。 – user979587

+0

這取決於你如何訪問列表,如果你試圖根據手頭的標籤獲取筆記列表,你可以使用'label.notes'。如果您正在嘗試使用給定標籤獲取筆記的兄弟筆記,請在筆記模型中添加一個函數。 –

+0

我想要的是每個標籤列表都有一個標籤,所以當我點擊這些標籤時,他們會向我提供與該標籤相關的註釋列表。 – user979587