私は:: ActionView含むヘルパー:: AssetTagHelperとその変種の束を試みたが、私は常にメインのためNameError: undefined local variable or method
config」を言ってエラーが表示されます。詳細はrakeタスクの内部からcompute_asset_hostにアクセスしますか?
環境に応じて異なるサーバーに格納されているリソースを参照できるようにする必要があります。私の開発マシンでは、localhost:3000で参照され、運用サーバー上では1つのCDNアドレスにあり、ステージングではさらに別のCDNアドレスになります。当然のことながら、このレーキタスクをローカルで最初にテストし、次にステージングし、最後にステージングして、レーキタスクがアセットホストコンフィグレーション変数に基づいてURLを生成できるようにする必要があります。私は実際には私のビューでこれを行うためにasset_path
というApplicationHelperメソッドを作成しましたが、基本的にはcompute_asset_hostのエイリアスです。しかし、私のrakeタスクにApplicationHelperを組み込み、asset_path
を呼び出すと、compute_public_pathが定義されていないと訴え、ActionView :: Helpers :: AssetTagHelperをインクルード(または拡張)するとcompute_asset_hostの内側からundefined local variable or method 'config' for main:Object
という文句が出ます。ですから、私は何とかActionView :: Helpersによって使用されるconfigコンテナをインスタンス化する必要があります。そのため、compute_asset_hostは環境に基づいて適切なURLを返すことができます。
を追加することはできない何ですか? rakeタスク内でViewヘルパーを呼びたい理由がわかりません。 – Midwire
詳細情報でOPを更新しました –