Shopify RecurringApplicationCharge 的确认 URL 为零

Confirmation URL for Shopify RecurringApplicationCharge is nil

我正在尝试向我的 shopify 应用添加经常性费用。我遵循了 Shopify-Tutorial 但写法略有不同。我的根路由转到:

root 'mycontroller#charging'

控制器动作是:

  def charging
    if @shop_domain != @myshop
      @shop_charging_status = @shop.charging
      unless ShopifyAPI::RecurringApplicationCharge.current
        recurring_charge = ShopifyAPI::RecurringApplicationCharge.new(
          name: "My App",
          price: "1.99",
          return_url: "https:\/\/appurl\/activated",
          trial_days: 7,
          terms: ".99 per month")

          if recurring_charge.save
            @tokens[:confirmation_url] = recurring_charge.confirmation_url
            @shop_charging_status = true
            @shop.save
            redirect recurring_charge.confirmation_url
          end
      end
    else
      redirect_to myindex_path
    end

当我尝试启动应用程序时,出现错误:NoMethodError(nil:NilClass 的未定义方法“[]=”)。它涉及 @token 行。当我编写代码时,这一行已经让我感到困惑,因为变量@token 仅在该方法中使用。但是,为什么它是零?

我错过了什么?

When I try to start the app, i get an error: NoMethodError (undefined method `[]=' for nil:NilClass). It concerns the @token line.

我假设你的意思是 @tokens

我认为您错过了 the tutorial here 的第一部分,他们在初始化方法中设置了 @tokens = {},然后在其中存储每个商店的访问令牌。