rails - метод доступа в app / helpers / xhelper.rb из файла lib / x.rb - PullRequest
0 голосов
/ 28 марта 2020

Мне нужен доступ к методу, определенному в модуле xhelper файла app / helpers / xhelper.rb. к нему нужно получить доступ в файле x.rb в папке lib.

app / helpers / xhelper.rb файл выглядит так:

module Xhelper
 def method_to_be_used
   p 'ok'
 end
end

lib / x.rb файл выглядит так

require 'xhelper'

class X
include Xhelper
  def x
    method_to_be_used
  end
end

я получаю ниже ошибку: NoMethodError: неопределенный метод `method_to_be_used 'для X: Class

Ответы [ 2 ]

1 голос
/ 28 марта 2020

Проблема в том, что требуется файл.

Для require требуется абсолютный путь. Я пытаюсь использовать require_relative, так как он берет текущий путь и начинает поиск файла по этому пути. И это чище.

Так что в вашем случае -

xhelper.rb

module Xhelper
  def method_to_be_used
    p 'ok'
  end
end

x.rb

require_relative '../app/helpers/xhelper'

class X
  include Xhelper
  def x
    method_to_be_used
  end
end

Прочитайте в этом блоге , чтобы узнать больше о require из ruby.

0 голосов
/ 29 марта 2020

полный ответ, который работал для меня.

xhelper.rb

module Xhelper
  def method_to_be_used
    p 'ok'
  end
end

x.rb

require_relative '../app/helpers/xhelper'
include Xhelper

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