人々はどのようにして複雑な方法を組織化するのでしょうか? つまり、プログラマーは通常、実際には特定のモデルに属さず、代わりに 3 ~ 4 個のモデルと 2 ~ 3 個のスコープを使用して複雑な決定を下すメソッドをどこに配置するのでしょうか?
たとえば、私が現在取り組んでいるアプリの中心は次のスクリプトです。
@items_to_post = Item.where(calendar_id: Ad.ready_to_post.collect(&:calendar_id).uniq).not_posted_yet(ad)
if @items_to_post.renewable.count > 0
@output = "Please Renew First"
else
@first_item = @items_to_post.first
@post = Post.new(title: @first_item.randomizations.first.title, body: @first_item.description, ... )
...
end
コード全体で退屈させたくないだけです。コードは非常に長く、わずかな違いで 2 つの場所で呼び出す必要があります。
これは、MVC の規則に違反しているため、特に Controller にとっては醜いですが、どうすればよいかわかりません。
皆さんは通常、このようなメソッドをどこに配置しますか?