実際にデータベースからデータを取得し、jquery データテーブルで視覚化する最初の小さな Rails プロジェクトに取り組み始めました。更新はまったくありません。問題は、このデータのモデルを作成し、activerecord を介してアクセスする必要があるか、または controller で SQL コマンドを介して直接アクセスしてもよいかということです。
1 に答える
2
コントローラーをきれいに保つために、モデルを作成する必要があります。
Rails のパターンでは、すべてのデータ アクセスはモデルを通じて行う必要があります。必ずしも更新/挿入ロジックを持っている必要はなく、ActiveRecord から継承する必要さえありませんが、コードの読者がデータ アクセスを見つけることを期待する場所です。
さらに、ある種のオブジェクトをビューに渡す必要があります。一時オブジェクトを破棄するのではなく、モデルを使用するのが最も理にかなっています。このようにして、モデルをきれいに変更し、更新する場所を 1 つだけにすることができます。
たとえば、後でfull_name
レポートに属性を追加する必要があるとします。コントローラーに単純な SQL があり、クエリ結果をビューに渡すだけの場合は、 and を連結するのが難しくなりfirst_name
ますlast_name
。ただし、モデルを使用すると、追加できます
def full_name
"#{self.first_name} #{self.last_name}"
end
1 か所で、そのレポートを表示するすべてのコントローラー アクションにfull_name
プロパティが追加されました。
テストを行う予定がある場合は、モデル クラスを使用すると、それも非常に簡単になります。コントローラーを使用せずにモデルをテストできます。
于 2013-08-19T13:50:38.043 に答える