Rails NoMethodError (неопределенный метод `new 'для Hyperclient: Module) - PullRequest
1 голос
/ 11 апреля 2020

Это довольно «новый вопрос» ie, но я искал и не могу найти ничего, что могло бы решить проблему с использованием hyperclient в приложении rails, в одном из моих Методы модели.

Всякий раз, когда я запускаю rails c, я получаю ошибку NoMethodError (undefined method `new' for Hyperclient:Module)

В моем gemfile

gem "hyperclient"

- run bundle install

в модели app / models / artwork.rb

class Artwork < ApplicationRecord
    require "hyperclient"

    def self.test_artsy
        api = Hyperclient.new('https://api.artsy.net/api') do |api|
          puts api
        end
    end
end

Я посмотрел документы по гиперклиенту и увидел что у них есть метод для .new (также на их примерах), так что я знаю, что я что-то сделал неправильно, но я не уверен, что еще можно попробовать?

Код работал при открытии irb в терминал.

1 Ответ

0 голосов
/ 11 апреля 2020

Вы не указали ни одной версии в своем Gemfile, поэтому может случиться, что Bundler не установит последнюю версию, и я предполагаю, что это может произойти здесь.

Вы можете проверить, какая версия устанавливается следующим образом: cat Gemfile.lock | grep hyperclient

У вас есть как минимум две опции:

1) bundle update hyperclient - это должно обновить Gemfile.lock до последней версии

2) bundle remove hyperclient bundle add hyperclient --version "0.9" - это обновит ваш Gemfile, а затем запустит bundle install, который восстановит ваш Gemfile.lock

Второй вариант рекомендуется, так как рекомендуется всегда указывать версию для ваших драгоценных камней. используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...