私のコントローラーには、次のように定義されたメソッドがあります。
def self.store_pdf(id)
...
end
そのメソッドでは、render_to_string を呼び出して正しいファイル/レイアウトをレンダリングする必要があります。
render_to_string(
:action => "../view/current_version/show.pdf.erb",
:layout => false)
ただし、render_to_string はインスタンス メソッドであり、保護されているため、次のことを行う必要があります。
me = self.new # self is the cortroller
me.send(:render_to_string,
:action => "../view/current_version/show.pdf.erb",
:layout => false)
ただし、次に示すように、render_to_string が機能する必要がある応答オブジェクトなどの依存関係があります: http://apidock.com/rails/ActionController/Base/render_to_string
それで、私はそれらを追加し始めました
me.send(:response=, ActionController::Response.new)
しかし、ますます多くのグローバル インスタンス変数を定義する必要があり、1 つの静的メソッドを動作させるだけでは大変な作業になると判断しました。
このメソッドは静的である必要があります。これにより、delayed_job が後でメソッドをバックグラウンドで実行できるようになります。
誰でもこれをやってのける方法について考えがありますか?