我有一個課程表和一個標記表。通過關係,我的中間表是tags_relationship.rb使用has_many的rails模型關聯:通過
class Lesson < ActiveRecord::Base
attr_accessible :title, :desc, :content, :tag_name
belongs_to :user
has_many :tag_relationships
has_many :tags, :through => :tag_relationships
end
class Tag < ActiveRecord::Base
attr_accessible :name
has_many :tag_relationships
has_many :lessons, :through => :tag_relationships
end
在我的意見之一,我嘗試創建一個虛擬屬性:我可以將兩個使用的has_many了他們。我有...
<div class="tags">
<%= f.label :tag_name, "Tags" %>
<%= f.text_field :tag_name, data: { autocomplete_source: tags_path} %>
</div>
,但我的經驗教訓表中沒有該屬性,TAG_NAME,所以叫我的方法,而不是
def tag_name
????????
end
def tag_name=(name)
self.tag = Tag.find_or_initialize_by_name(name) if name.present?
end
但林不知道里面的放什麼??? ?????。即時嘗試引用:我的標籤表中的名稱屬性。
那時我用了一個has_many和belongs_to的關係。我的課屬於一個標籤(這是錯誤的),但我能寫...
tag.name
它的工作。但自從它has_many:通過現在,我不知道。我嘗試使用tags.name,Lessons.tags.name等,但我似乎無法讓它工作。我如何參考標籤表名稱屬性?謝謝
由於您有多對多的關係,因此您似乎需要決定名稱應該是「lesson」的所有'tags'中的哪一個。 – 2012-04-19 21:03:17
即時通訊抱歉,但你能澄清?即時通訊不能確定你的意思是什麼 – Sasha 2012-04-19 21:06:11