Rails - 我应该在哪里编写业务逻辑?

时间:2015-11-05 21:15:05

标签: ruby-on-rails-4

我有一个模型,用于存储每次创建新用户时由应用自动生成的一些代码。我应该在哪里写下这个“代码生成器”的逻辑?控制器或型号?如果答案是“模型”,我该怎么做?谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我建议创建一个app/services文件夹并将CodeGenerator类/模块放在那里。

这将导致类似:

# app/services/code_generator.rb
module CodeGenerator
  def self.generate(model)
    # logic to generate your code
  end
end

通过这种方式,您可以将逻辑与模型分开,如果需要,现在可以将其重新用于不同的模型。同样这样做会使你的模型只对ORM部分负责,而不是像生成代码那样的其他逻辑。