2016-08-17 8 views
1

スクリプトタグを使用するコンセプトに慣れようとしています。私は顧客がページにアクセスしたときに警告 "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ファイルに入れてみましたが、動作しませんでした。

私はローカルサーバー上でアプリケーションを実行しているため、またはアプリケーションの構成に何かがない場合に問題が発生しているかどうかわかりません。

誰かが私を正しい方向に向けることができれば幸いです。

答えて

0

ははい、あなたはJSがあなたのscripttagを公開するために含めたいファイルを必要がありますことを正しい

ShopifyApp.configure do |config| 
    config.api_key = "xxx-xxxx-xxx-xxx" 
    config.secret = "xxx-xxxx-xxx-xxx" 
    config.scope = "read_orders, read_products" 
    config.embedded_app = true 
    config.scripttags = [ 
    {event:'onload', src: 'https://shopifydocumentationsucks.herokuapp.com/javascripts/fuckyou.js'} 
    ] 
end 

設定/初期化子/ shopify_app.rbにこのような何かを入れてみてください - あなたがしている場合開発のためにlocalhostを使ってgrokを調べる。

Shopify APIを操作するときにコールバックがSSLを使用するようにしてください(つまり、Shopifyアプリ設定のコールバック設定としてhttps://localhost/でアプリを設定する)。私は自己署名入りのSSL証明書を使ってローカルにWebサーバーとしてシンを構成するという問題を抱えていました。

正しく設定されていると、応答が全音チェックに失敗した理由をデバッグできるはずです。

私はShopify APIは初めてですが、Railsでは初めてです。彼らのドキュメンテーションは、たくさんの望みが残っています。

私はので、それは返信せずに行ってきましたどのくらいの間に、この記事をチェックしていないが、私は最終的にはそれを考え出したし、あなたの答えは私がそれを得るために何をしたかであるあなたの先生に

幸運、

+0

作業。 config/initializers/shopify_app.rbにスクリプトファイルのコードを置かなければなりませんでした。他の誰かが同じ問題を抱えている場合に備えてこれを確認するだけです。ありがとう。 – OneCaseTwoCase

関連する問題