3

Railsアプリの「分析」ページに取り組んでいます。分析ページは独自のデータを保持しません (この時点では非常に原始的です) が、DB から (ActiveRecord に組み込まれた集計式を介して) 取得したメトリックを利用します。メトリクスを収集して提示する以外に、私が持っている唯一の他の要件は、ユーザーがデータをフィルタリングするための日付範囲を提供できるようにすることです。これまではインスタンス変数などを使用してメトリクス情報を保存していましたが、メトリクスの数が増え、フィルタの開始日と終了日を管理する必要が生じたため、このデータを自社モデル。すべての「データ」を移動する場合 モデルに attr_accessors を持つプレーン オブジェクトを使用する必要がありますか、それとも非永続データに使用できるより適切な基本クラスがありますか? 私はコントローラーが肥大化していることを知るために MVC アーキテクチャに十分に精通していますが、この場合にデータ/ロジックをどのように整理するかを決定するのに十分なほどレールに精通していません。

どんな洞察も大歓迎です!

4

3 に答える 3

7

Railsの非アクティブレコードモデルを使用できるようです。それについては良いRailscastがあります:

http://railscasts.com/episodes/121-non-active-record-model

それが役立つことを願って、

于 2008-12-04T16:12:23.070 に答える
2

あなたはここで正しい方向に進んでいます。多くのアプリケーションには、ActiveRecord::Baseから継承しないアプリ/モデル内のクラスがあります。コントローラアクション内で多くの任意の変数を管理していることに気付いたときはいつでも、そのデータを非永続モデルに抽象化することを検討するのに適した場所です。

于 2008-12-04T16:16:18.100 に答える
0

これは、現在十分に文書化されていない領域です。おそらく、ActiveRecord のほうが魅力的なためでしょうか?

私も同じプロセスを経て、ActiveRecord ベースのモデルから派生データを構築しようとしたときに、コントローラーのアクションが不快なほど大きくなり、ロジックでいっぱいになっていることに気付きました。 .

あなたが今得ているのと同じアドバイスを得ると、すべてが見事に単純化されました.

于 2008-12-04T21:59:25.567 に答える