0

実際にデータベースからデータを取得し、jquery データテーブルで視覚化する最初の小さな Rails プロジェクトに取り組み始めました。更新はまったくありません。問題は、このデータのモデルを作成し、activerecord を介してアクセスする必要があるか、または controller で SQL コマンドを介して直接アクセスしてもよいかということです。

4

1 に答える 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 に答える