我无法使用 vanilla Rails + Turbolinks Shopify 应用程序
I can't get a vanilla Rails + Turbolinks Shopify App working
我刚刚经历了 Rails & Turbolinks tutorial - 因为我是第一次创建 Shopify 应用程序。我到达了我的应用程序正在加载的阶段,但我所看到的只是 'SplashPage#Index' 的“正在加载...”页面,但它并没有像我期望的那样重定向到我的 'Home#Index'。
我正在使用 Rails 6.0.3.6
、Ruby 3.0.1
而我没有使用 React。如果可能的话,我只想使用 Rails & Turbolinks 来构建我的应用程序,所以这就是我选择该教程的原因。
这是服务器日志(注意,出于隐私目的,我删除了我的 IP 地址)。
Started GET "/?hmac=5e2e8c366d75e39831b775be635e4118a99c&host=bWFueS1wcmXlzaG9waWZ5LmNvbS9hZG1pbg&locale=en&new_design_language=true&session=7deccadd83c28b82dd4dd2902fff5c76573f365f637c2a&shop=random-shop.myshopify.com×tamp=1619310003" for 69.160.XXX.XX at 2021-04-24 19:20:04 -0500
┃ Cannot render console from 69.160.XXX.XX! Allowed networks: 127.0.0.0/127.255.255.255, ::1
┃ Processing by SplashPageController#index as HTML
┃ Parameters: {"hmac"=>"5e2e8c366d75e39831b775be635e4118a99c", "host"=>"bWFueS1wcmXlzaG9waWZ5LmNvbS9hZG1pbg", "locale"=>"en", "new_design_language"=>"true", "session"=>"7deccadd83c28b82dd4dd2902fff5c76573f365f637c2a", "shop"=>"random-shop.myshopify.com", "timestamp"=>"1619310003"}
┃ Shop Load (1.8ms) SELECT "shops".* FROM "shops" WHERE "shops"."shopify_domain" = LIMIT [["shopify_domain", "random-shop.myshopify.com"], ["LIMIT", 1]]
┃ CACHE Shop Load (0.2ms) SELECT "shops".* FROM "shops" WHERE "shops"."shopify_domain" = LIMIT [["shopify_domain", "random-shop.myshopify.com"], ["LIMIT", 1]]
┃ Rendering splash_page/index.html.erb within layouts/embedded_app
┃ Rendered splash_page/index.html.erb within layouts/embedded_app (Duration: 0.1ms | Allocations: 6)
┃ [Webpacker] Everything's up-to-date. Nothing to do
┃ Rendered layouts/_flash_messages.html.erb (Duration: 0.6ms | Allocations: 76)
┃ Completed 200 OK in 38ms (Views: 24.5ms | ActiveRecord: 2.3ms | Allocations: 8450)
什么可能导致此行为,我该如何解决?
您还需要查看哪些其他代码来帮助我正确解决此问题?
编辑 1
不确定这是否有任何影响,但从我的 rails console
来看,当我 ShopifyApp.configuration.api_key
时,我得到 nil
返回。
编辑 2
当我检查我的 JS 控制台时,我看到以下错误:
Uncaught Error: Cannot find module '@shopify/app-bridge-utils'
但在我的 app/javascript/packs/application.js
中,我包含了以下内容:
require("shopify_app")
编辑 3
这是来自 JS 控制台的完整错误:
我终于明白了。即使我没有明确使用 NPM,我仍然需要将 @shopify/app-bridge
实用程序包含到我的 JS 包管道中。
我是通过 运行 以下命令完成的:
$ yarn add @shopify/app-bridge
$ yarn add @shopify/app-bridge-utils
效果非常好,现在一切顺利。
我刚刚经历了 Rails & Turbolinks tutorial - 因为我是第一次创建 Shopify 应用程序。我到达了我的应用程序正在加载的阶段,但我所看到的只是 'SplashPage#Index' 的“正在加载...”页面,但它并没有像我期望的那样重定向到我的 'Home#Index'。
我正在使用 Rails 6.0.3.6
、Ruby 3.0.1
而我没有使用 React。如果可能的话,我只想使用 Rails & Turbolinks 来构建我的应用程序,所以这就是我选择该教程的原因。
这是服务器日志(注意,出于隐私目的,我删除了我的 IP 地址)。
Started GET "/?hmac=5e2e8c366d75e39831b775be635e4118a99c&host=bWFueS1wcmXlzaG9waWZ5LmNvbS9hZG1pbg&locale=en&new_design_language=true&session=7deccadd83c28b82dd4dd2902fff5c76573f365f637c2a&shop=random-shop.myshopify.com×tamp=1619310003" for 69.160.XXX.XX at 2021-04-24 19:20:04 -0500
┃ Cannot render console from 69.160.XXX.XX! Allowed networks: 127.0.0.0/127.255.255.255, ::1
┃ Processing by SplashPageController#index as HTML
┃ Parameters: {"hmac"=>"5e2e8c366d75e39831b775be635e4118a99c", "host"=>"bWFueS1wcmXlzaG9waWZ5LmNvbS9hZG1pbg", "locale"=>"en", "new_design_language"=>"true", "session"=>"7deccadd83c28b82dd4dd2902fff5c76573f365f637c2a", "shop"=>"random-shop.myshopify.com", "timestamp"=>"1619310003"}
┃ Shop Load (1.8ms) SELECT "shops".* FROM "shops" WHERE "shops"."shopify_domain" = LIMIT [["shopify_domain", "random-shop.myshopify.com"], ["LIMIT", 1]]
┃ CACHE Shop Load (0.2ms) SELECT "shops".* FROM "shops" WHERE "shops"."shopify_domain" = LIMIT [["shopify_domain", "random-shop.myshopify.com"], ["LIMIT", 1]]
┃ Rendering splash_page/index.html.erb within layouts/embedded_app
┃ Rendered splash_page/index.html.erb within layouts/embedded_app (Duration: 0.1ms | Allocations: 6)
┃ [Webpacker] Everything's up-to-date. Nothing to do
┃ Rendered layouts/_flash_messages.html.erb (Duration: 0.6ms | Allocations: 76)
┃ Completed 200 OK in 38ms (Views: 24.5ms | ActiveRecord: 2.3ms | Allocations: 8450)
什么可能导致此行为,我该如何解决?
您还需要查看哪些其他代码来帮助我正确解决此问题?
编辑 1
不确定这是否有任何影响,但从我的 rails console
来看,当我 ShopifyApp.configuration.api_key
时,我得到 nil
返回。
编辑 2
当我检查我的 JS 控制台时,我看到以下错误:
Uncaught Error: Cannot find module '@shopify/app-bridge-utils'
但在我的 app/javascript/packs/application.js
中,我包含了以下内容:
require("shopify_app")
编辑 3
这是来自 JS 控制台的完整错误:
我终于明白了。即使我没有明确使用 NPM,我仍然需要将 @shopify/app-bridge
实用程序包含到我的 JS 包管道中。
我是通过 运行 以下命令完成的:
$ yarn add @shopify/app-bridge
$ yarn add @shopify/app-bridge-utils
效果非常好,现在一切顺利。