【发布时间】:2018-02-25 03:19:34
【问题描述】:
我有一个关于 Rails 最佳实践的问题。 在我的 Rails 项目中,我有以下代码:
class MyController < ApplicationController
def some_method
@product = MyFabricatorClass.new.create_product
end
...
end
MyFabricatorClass 不依赖于某些状态,它的行为是恒定的。我也在做很多 C++ 的东西,对我来说,总是实例化一个新的 MyFabricatorClass 对象感觉有点低效。在 C++ 项目中,我可能会使用类似的东西:
class MyController < ApplicationController
@@my_fabricator = nil
def some_method
@@my_fabricator ||= MyFabricatorClass.new
@product = @@my_fabricator.create_product
end
...
end
这种风格在 Rails 中也是合法的吗?典型的 Rails 方法是什么?
感谢您的建议...!
【问题讨论】:
-
为什么不让
create_product成为MyFabricatorClass的类方法? -
@jvillian:感谢您的评论。对不起,我选择了错误的命名。 MyFabricatorClass 不是真正的我的班级,而是第 3 方。因此,更改 MyFabricatorClass 不是一种选择。
标签: ruby-on-rails static-variables