Я использую Grape для создания API на рельсах. Теперь я хочу использовать Shopify гем Active Shipping, но когда я пытаюсь использовать его в моем custom_helper в Grape, я получаю сообщение об ошибке uninitialized constant ActiveShipping
. Кроме того, я также получаю следующее сообщение:
Cannot render console with content type application/jsonAllowed content types: [#<Mime::Type:0x007f8bea21b4e8 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html">, #<Mime::Type:0x007f8bea21b038 @synonyms=[], @symbol=:text, @string="text/plain">, #<Mime::Type:0x007f8bec0fe950 @synonyms=[], @symbol=:url_encoded_form, @string="application/x-www-form-urlencoded">]
мой вспомогательный файл выглядит так:
require 'active_shipping'
module API
module V1
module Helpers
module ShippingHelpers
extend Grape::API::Helpers
def ups_tracking_info(tracking_number)
ups = ActiveShipping::UPS.new(login, password, key) #this is where it throws an error
ups.find_tracking_info(tracking_number)
end
end
end
end
end
и я включаю его в свой файл доставки винограда, например:
module API
module V1
class Shippings < Grape::API
helpers API::V1::Helpers::ShippingHelpers
...
#some endpoint:
ups_tracking_info(tracking_info)
...
end
end
end
Почему я получаю сообщение об ошибке с неинициализированной константой? Мне требуется драгоценный камень в моем вспомогательном файле. Требование его в моем файле config/application.rb тоже не работает...
Надеюсь, у кого-то будет идея, которая может помочь мне в дальнейшем. Заранее спасибо!
Обратите внимание, что все мои файлы винограда находятся в папке app/api/api, так что это не проблема.
::ActiveShipping::UPS
, чтобы он искал класс на корневом уровне, а не внутриAPI::V1::Shippings
. - person Philip Hallstrom   schedule 28.04.2015include ActiveMerchant::Shipping
в моем классе. - person PSR   schedule 28.04.2015