0

在我的控制器中,我有:

测试控制器

def show_result

  @myObject = Object.where(.....)
end

def export_result
  .....
end

如何使用相同的对象@myObject 从视图中调用“export_result”方法,而无需再次执行相同的查询?

4

1 回答 1

0

我认为您必须首先了解实例变量。实例变量在其对象被销毁时被销毁。总之,@myObject 变量可用于每个操作(请求)。

答案: 1. 使用回调你可以做一个简单的方法来准备渲染并调用它。

    before_filter :load_object, only: [:show_result, :export_result]

    def load_object
      @myObject = Object.where(...)
    end
  1. 在 export_result 中调用 show_result 方法,如果 show_result 有渲染代码或其他一些不会在 export_result 方法中使用的代码,这不是正确的方法。
于 2013-11-09T13:24:25.907 回答