rails config / environment где определяется 'config'? - PullRequest
0 голосов
/ 18 сентября 2018

В config/environments/production.rb (и других средах) есть:

config.eager_load = true

и целый ряд других config.foobar вызовов.Но откуда берется «config»?Обычно у вас есть что-то вроде:

SomeClass.each do | block_variable |
  block_variable.some_method
end

, но в случае с мистическим 'config' это не так, это похоже на блочную переменную, которая нигде не объявлена.Открывая консоль rails, когда я делаю:

irb(main):001:0> config
NameError: undefined local variable or method `config' for main:Object
Did you mean?  conf
        from (irb):1
irb(main):002:0>

, и тот же результат происходит для app.config

irb(main):002:0> app.config
NoMethodError: undefined method `config' for #<ActionDispatch::Integration::Session:0x00007fc898d02808>
        from (irb):2

Как для ruby ​​можно разрешить вызовы в 'config'?

1 Ответ

0 голосов
/ 18 сентября 2018

Эти классы включают модуль ActiveSupport::Configurable:

https://api.rubyonrails.org/classes/ActiveSupport/Configurable.html

Вот альтернатива реализации этого поведения самостоятельно:

https://robots.thoughtbot.com/mygem-configure-block

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