1

home#indexのアプリでは、最初の行には4つの画像が並んでいます。

それがfeaturedセクションと呼ばれるものです。この 4 枚の画像は によって選択され、admin全員に表示されます。

home私はモデルを持っていませんhomeController

したがって、これらの画像を個別のオブジェクトとして保存し、それらの画像に対して通常の CRUD 操作を許可したい場合、これらの画像は編集ページにのみ掲載され、home#indexおそらくhome#edit編集ページになります...どのようにアプローチすればよいでしょうか?

featured_imagesまたはそのようなものと呼ばれるスタンドアロンモデルを作成し、Homeコントローラーでそのモデルからプルする必要がありますか?

それは私が考えた 1 つのアプローチですが、ほんの一握りの画像のためだけにモデルを作成するのはやり過ぎではないかと思います。しかし、繰り返しになりますが、これらの画像は定期的に変更されるため、「ほんの一握り」ではない可能性があります。

考え?

4

2 に答える 2

1

Model オブジェクトは、それをサポートする ActiveRecord (または他の ORM) ストアを持つ必要はありません。ファイルシステムも使用できます。または、含まれているロジック以外の記事を保存できません。モデルの主な目的は、ビジネス ロジックをカプセル化し、コントローラー層から抽象化することです。これにより、コードの読み取り、テスト、保守が容易になります。テーマに「ビジネス」ロジックが含まれていない場合は、ヘルパーまたはライブラリ モジュールの方が適している可能性があります。

ロジックが非常に単純な場合は、コントローラーに保持することで確実に回避できます。ただし、そうする前に、読みやすさ、テストの容易さ、および保守の容易さのトレードオフと単純さを両立させる価値があるかどうかを判断してください。答えは「はい」かもしれませんが、通常はそうではありません。

于 2012-11-16T03:35:18.760 に答える
1

「それらの画像を保存できるようにしたい場合」...モデルを作成するのはやり過ぎではないことを意味します。Rails を使用すると、画像をモデルとして保存するのは非常に簡単になりますが、他の方法で保存するのは非常に難しくなります。簡単な方法で行きます。

于 2012-11-16T03:10:47.540 に答える