Rails 3 Engine - Provide Config For Users

Кажется, я не могу найти никакой документации о том, как сделать следующее: Мне нужно предоставить переменную конфигурации для любых приложений, использующих мой движок, чтобы они могли легко передавать настройки моему движку.

Есть ли у кого-нибудь ссылки на правильный или приемлемый способ сделать это?

РЕДАКТИРОВАТЬ: В качестве обновления я нашел достойный способ сделать это. Код приведен ниже.

# file: lib/my_engine.rb
module MyEngine

  class Engine < Rails::Engine

    initializer "my_engine.configure_rails_initialization" do |app|
      # Engine configures Rails app here, this is not what my question was about
    end

  end

  # This is what I was trying to figure out
  def self.config(&block)
    @@config ||= MyEngine::Configuration.new

    yield @@config if block

    return @@config
  end

end

Это позволяет любому приложению, использующему мой движок, настраивать его, как показано ниже, в любом из своих инициализаторов или в файле environment.rb, вызов любых методов, определенных в классе MyEngine :: Configuration :

MyEngine.config do |config|
  config.some_configuration_option = "Whatever"
end
7
задан tshepang 18 October 2013 в 09:47
поделиться