Как использовать модули в приложении Rails - PullRequest
7 голосов
/ 29 марта 2012

Я только что создал модуль location.rb внутри папки / lib со следующим содержимым:

module Location
  def self.my_zipcode()
    zip_code = "11215"
  end
end

И теперь в моем контроллере я пытаюсь вызватьМетод "my_zipcode":

class DirectoryController < ApplicationController
  def search
    require 'location'
    zip_code = Location.my_zipcode()
  end
end

Но выдает ошибку:

неопределенный метод `my_zipcode 'для Location: Module

Ответы [ 2 ]

13 голосов
/ 29 марта 2012

Вы также можете добавить следующее в ваш config / application.rb

config.autoload_paths + =% W (# {config.root} / lib)

И он должен автоматически загружать ваш модуль без перезапуска рельсов.

5 голосов
/ 29 марта 2012

Возможно, вам придется перезапустить сервер rails, чтобы он распознал содержимое в каталоге lib.

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