acts_as_taggable_onのステロイドを使用して未定義のメソッド「tag_count」

StackOverflow https://stackoverflow.com/questions/1740522

  •  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に呼び出すことができる必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top