#ruby-on-rails #recurring-billing #shopify-api
#ruby-on-rails #повторяющийся-выставление счетов #shopify-api
Вопрос:
Я пытаюсь добавить повторяющуюся плату в мое приложение 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: "$1.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 используется только в этом методе. Но, тем не менее, почему это nil?
Чего мне не хватает?
Ответ №1:
Когда я пытаюсь запустить приложение, я получаю сообщение об ошибке: NoMethodError (неопределенный метод `[]=’ для nil:NilClass). Это касается строки @token .
Я полагаю, вы имеете в виду @tokens
?
Я думаю, вам не хватает первой части руководства здесь, в которой они устанавливают @tokens = {}
метод инициализации, а затем сохраняют токены доступа для каждого магазина там.
Комментарии:
1. Вы правы. У меня есть драгоценный камень shopify-app, поэтому в нем нет необходимости. Я исправил это, просто удалив [:confirmation_url] и поместив fullpage_redirect_to @token . Теперь это работает