0

私は「ノート」と呼ばれるメインモデルを持っています。これには次のものがあります。

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をクリックすると、ラベルが付いたノートのリストが表示されます。それらに「git」。

4

1 に答える 1

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)
于 2012-06-16T02:01:20.387 に答える