質問

私はRailsの中に認知テストのためのアプリケーションを構築しています。
私は私の訪問者のためのテスト(Quizオブジェクト)の数を持っています。ホームページでは、私は消費のために準備ができているだけでクイズを表示したい。彼らが質問の数と可能な回答の数を持っている必要があります
。 もちろん、私はすべてのオブジェクトどこQuiz.questions.size > 1 && Quiz.answer.size > 1をSQLでクエリ、またはクラスメソッドの再試行を作成することができます。 それでも、私は抽象化された/よりエレガントな方法をしたいと思います。
それはActiveRecordのメソッドであるかのように「準備」メソッド演技法を持って照会する方法はありますので、私はQuiz.find_all_by_ready(1)呼び出し、任意のクイズ状態にreadyを置くことができますか? キャッシングはダイナミック代替があった場合、私は思っていた、可能性です。どのようにレールの第一人者は、問題を解決するのでしょうか?

乾杯、
ダヴィデ

役に立ちましたか?

解決

named_scopeの組み合わせを使用して、あなたはこのような何かを行うことができcounter_cachesます:

class Quiz < AR:B
    named_scope :ready, :conditions => ['quizes.questions_count > 0 AND quizes.answers_count > 0']
end

@quizes = Quiz.ready

私はこのことができます願っています!

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