1

我使用的acts_as_taggable_on創業板和軌道的jQuery自動完成寶石acts_as_taggable_on和導軌自動完成寶石 - 顯示標籤計數

我知道如何通過創業板獲得的標籤計數

我知道的是,爲了顯示別的東西比自動完成返回搜索結果我需要做這樣的事情

autocomplete :tag, :name, :class_name => 'ActsAsTaggableOn::Tag', :full => true 

並添加2個密鑰,其

其他
:extra_data , :display_value 

額外的數據將檢索更多的數據在搜索中(不確定這是否需要在這裏) display_value將調用從自動完成搜索模型內的方法。

問題:

我不知道放在哪裏方法應該是這樣的

def tags_with_counts 
"#{tag.name} x #{tag.count} 
end 

的DISPLAY_VALUE由於我沒有標籤模型文件放它在(因爲acts_as_taggable_on不生成這樣的文件

但即使我確實有這樣的文件,從以前的實驗中,該方法只能使用與自動完成搜索一起檢索的數據,而我沒有帶標籤計數的列。

我該怎麼做才能解決這個問題?

回答

1

解決它做

class Tag < ActsAsTaggableOn::Tag 


    def tagcount 
     num = ActsAsTaggableOn::Tagging.where(:tag_id => self.id).count 
     "#{Tag.find(self.id).name} x #{num}" 
    end 


end 

和發送「變量」類導軌,自動完成呼叫

0

假設您在其中一個模型中包含acts_as_taggable指令,您基本上可以打開一系列屬於行爲作爲標記的模塊的方法和關係。有了這個說法,如果你想添加一個方法在你的行爲作爲標籤模塊的範圍內,那麼你可以簡單地在同一個模型中定義它。

例如:

class Upload < ActiveRecord::Base 

    acts_as_taggable 

    def tags_with_counts 
    "#{tag.name} x #{tag.count}" 
    end 

end 

FYI您tags_with_counts方法缺少一個右雙引號。

+0

這不起作用,因爲軌,自動完成需要它是一種方法,在返回模型中(這是標籤)。如何插入該方法以成爲模型的一部分? –

相關問題