Ruby on Rails - переменная экземпляра конфигурации модуля неожиданно устанавливает в ноль - PullRequest
0 голосов
/ 25 мая 2018

Я имею дело со странной проблемой в Ruby on Rails.
В app / lib / cml.rb У меня есть:

module CML
  class << self
    attr_accessor :scheduler
    def configure
      yield self
      true
    end
  end
end

Затем у меня в config / initializers / cml.rb :

CML.configure do |config|
  config.scheduler = "hey"
end

app / controllers / example_controller.rb

class ExampleController < ApplicationController
    def action1
        logger.debug "Scheduler: #{CML.scheduler}"
        puts ""
    end
end

app / config / rout.rb

Rails.application.routes.draw do
  get '/action1', to: 'example#action1'
end

Проблема:

  1. запуск сервера
  2. удаление строки ввода из файла example_controller.rb # action1
  3. request / action1

Ожидаемое поведение: Влог вижу "Планировщик: эй".
Реальность: В журнале я вижу "Планировщик:" (в byebug я вижу, что это ноль)

Github-репозиторий с примером приложения: https://github.com/luki215/rails-module-error

Что я делаю неправильно?Я вижу, что этот вид конфигурации обычно используется для нескольких драгоценных камней, и эти драгоценные камни работают просто отлично. Спасибо!

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