人们如何组织复杂的方法?我的意思是程序员通常把不属于任何特定模型的方法放在哪里,而是使用 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
我只是不想让你厌烦整个代码——它很长,需要在两个地方调用,但差别很小。
我已经把所有这些都放到了我的 ExportController 中,这很丑,尤其是对于 Controller,因为它违反了 MVC 约定,但我不知道该怎么做。
你们通常把这样的方法放在哪里?