在我的 Rails 控制器显示方法中使用记忆有什么好处吗?

Is there any advantage to using memoization in my Rails controller show method?

我正在使用 Rails 5.1。我想知道在我的控制器中使用记忆是否有任何优势。例如,我有下面的显示方法...

class PartsController < BaseController

  def show
    @part = Part.find(params[:id])
  end

我可以做这个

  def show
    @part ||= Part.find(params[:id])
  end

但是由于控制器的新实例是由请求创建的(老实说),我的“@part”似乎永远不会被重用。我错了吗?我应该在这里使用记忆来提高性能吗?

不,这里没有任何好处。您可能会以某种方式为它编写测试,因此只使用一个控制器 class 的实例,但我从未见过有人为控制器 class 这样做 - 可能是因为这不是它们的使用方式在现实生活中。