Почему мой сценарий не может получить доступ к классам, которые находятся в другом каталоге? - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь получить доступ к классам DealState и NotAnEndState, которые находятся в другом каталоге, где у меня есть библиотека с именем move-to-go.

папка move-to-go содержит модули, один из которых в моем примере называется deal_state.rb.Когда я открываю deal_state.rb, он содержит следующий код:

Путь к lib: F: \ Ruby25-x64 \ lib \ ruby ​​\ gems \ 2.5.0 \ gems \ move-to-go-5.3.0 \ lib \ move-to-go

module MoveToGo
    module DealState
        # This is the default, a deal with a status with this state is
        # currently being worked on.
        NotAnEndState = 0

        # The deal has reached a positive end state, eg we have won
        # the deal.
        PositiveEndState = 1

        # The deal has reached a negative end state, eg we have lost
        # the deal.
        NegativeEndState = -1
    end
end



Путь к моему коду: C: Users / Shahin / MigrationFolder / converter.rb

class Converter
    def configure(rootmodel)


         rootmodel.settings.with_organization do |organization|
             organization.set_custom_field( { :integration_id => 'source', :title => 'Källa', :type => :Link } )
         end

         rootmodel.settings.with_person  do |person|
             person.set_custom_field( { :integration_id => 'source', :title => 'Källa', :type => :String} )
         end

         rootmodel.settings.with_deal do |deal|
         assessment is default  DealState::NotAnEndState 
             deal.add_status( {:label => '1. Kvalificering' })
             deal.add_status( {:label => '2. Deal closed', :assessment => MoveToGo::DealState::PositiveEndState })
             deal.add_status( {:label => '4. Deal lost', :assessment => MoveToGo::DealState::NegativeEndState })
         end
    end

Когда я выполняю свой скрипт, яполучить это сообщение об ошибке: C: Users / MyUserName / MigrationFolder / converter.rb: 63: в `block in configure ': неинициализированная константа Converter :: DealState (NameError) Вы имели в виду?DEAL_SHEET

Однако на свет появились новые вещи.Кажется, что сообщение об ошибке имеет проблему с классом Converter, но я не могу толковать, что оно подразумевает.

1 Ответ

0 голосов
/ 08 июня 2019

Эта строка является ошибкой: assessment is default DealState::NotAnEndState. Сначала вы должны использовать MoveToGo::DealState::NotAnEndState, а второй assessment is default должен быть в файле спецификации, а не здесь.

Если вы удалите эту строку, ошибки больше не должно быть.

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