acts_as_taggable_onのステロイドを使用して未定義のメソッド「tag_count」
-
20-09-2019 - |
質問
私は自分のアプリケーションのためのタグクラウドを作成するacts_as_taggable
を使用しています。私はacts_as_taggable
プラグインを使用しているモデルの「質問」を持っています。私は基本的に質問モデルのタグをフィルタリングします。
私はまた、「件名」モデルを持っています。だから、被験者との質問との関係は、被験者が多くの質問があり、質問が対象に属していることです。
私は@subject.questions.tag_counts
を呼び出すときにだから、それが正常に動作します。しかし、私が呼ぶと言います
@subject.free_questions.tag_counts
は、私が定義されてきた方法であるfree_questions
、それは私にtag_counts
ための「undefined_method #<Array>
を提供します。私は、基本的な質問のサブセットのすべてのタグを見つけたい。
誰もが回避策を提案することはできますか?
解決
それはあなたがそれに関連するメソッドを呼び出すことができるようにfree_questions
としてnamed_scope
を実装するのを助けることができる。
のような何かます:
class Question < ActiveRecord::Base
named_scope :free, :conditions => {:free => true} # conditions that make a question 'free'
end
そして、次のことができます:
@subject.questions.free
と私は、これは同様に動作する疑いがあります。 (acts_as_taggable
で多くの経験を持っていない)
@subject.questions.free.tag_counts
あなたが(代わりにあなたが定義したモデル法の)named_scope
を使用する場合は、あなたが見て、Array
のような役割を果たしていますが、その上にチェーンActiveRecord
関連法に可能にプロキシオブジェクトを取り戻します。 @subject.questions
上で動作する任意の方法は、あなたが@subject.questions.free
に呼び出すことができる必要があります。
所属していません StackOverflow