我无法使用 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.6Ruby 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&timestamp=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

效果非常好,现在一切顺利。