私のコントローラーには次のものがあります:
テストコントローラー
def show_result
@myObject = Object.where(.....)
end
def export_result
.....
end
同じクエリを再度実行せずに、同じオブジェクト @myObject を使用してビューから "export_result" メソッドを呼び出すにはどうすればよいですか?
私のコントローラーには次のものがあります:
テストコントローラー
def show_result
@myObject = Object.where(.....)
end
def export_result
.....
end
同じクエリを再度実行せずに、同じオブジェクト @myObject を使用してビューから "export_result" メソッドを呼び出すにはどうすればよいですか?
最初にインスタンス変数を理解する必要があると思います。オブジェクトが破棄されると、インスタンス変数も破棄されます。つまり、@myObject 変数はアクション (リクエスト) ごとに使用できます。
答え: 1. コールバックを使用すると、単純なメソッドを作成してレンダリングを準備し、それを呼び出すことができます。
before_filter :load_object, only: [:show_result, :export_result]
def load_object
@myObject = Object.where(...)
end