スクリプトタグを使用するコンセプトに慣れようとしています。私は顧客がページにアクセスしたときに警告 "Hi"のような単純なことをするレールアプリでルビーを作っています。私はローカルサーバー上でこのパブリックアプリケーションをテストしています。私はshopify_app gemをインストールしました。アプリは認証されており、店舗のデータにアクセスできます。私はスクリプトタグの使用に関するShopify APIドキュメントを見てきましたが、ShopifyがGitHub上に持つShopify組み込みアプリケーションの例を見てきました。ドキュメントにはスクリプトタグのプロパティの詳細が記述されており、スクリプトタグのプロパティの定義例が示されていますが、アプリケーション内にスクリプトタグをどこに配置するかについては何も言及されていません。スクリプトタグが通過します。Shopify App - Ruby on Railsアプリケーションでのスクリプトタグの使用
スクリプトタグを付けてjsファイルを追加すると、jsファイルがオンラインでホストされている場合にのみ動作することがわかりました。そのため、Googleドライブにjsファイルをアップロードしました。私は私のHomeController(アプリケーションのデフォルトページ)のインデックスアクションにscriptタグのコードを持っています。
DEFインデックス
if response = request.env['omniauth.auth']
sess = ShopifyAPI::Session.new(params[:shop], response[:credentials][:token])
session[:shopify] = sess
ShopifyAPI::Base.activate_session(sess)
ShopifyAPI::ScriptTag.create(:event => "onload", :src => "https://drive.google.com/...")
end
私は問題はrequest.envに接続するかもしれないと思う:これは私が使用しているコードです。レスポンスがrequest.env [omniauth.auth]として読み込まれていないので、スクリプトタグが通過するために有効な応答が返されると考えられます。
私が上で試した方法は、このトピックで与えられた2番目の答えからです:How to develop rails app for shopify with ScriptTags。
最初の答えは、このコードを使うことを提案: ShopifyAPI :: Base.site =トークン
S = ShopifyAPI :: ScriptTag.create(:イベント=> "のonload"、:SRC =>「あなたのjavascriptのURL ")
ただし、レールアプリケーションに両方のコード行をどこに配置するかについては言及していません。 2行目をjsファイルに入れてみましたが、動作しませんでした。
私はローカルサーバー上でアプリケーションを実行しているため、またはアプリケーションの構成に何かがない場合に問題が発生しているかどうかわかりません。
誰かが私を正しい方向に向けることができれば幸いです。
作業。 config/initializers/shopify_app.rbにスクリプトファイルのコードを置かなければなりませんでした。他の誰かが同じ問題を抱えている場合に備えてこれを確認するだけです。ありがとう。 – OneCaseTwoCase