2010-11-02 97 views
6

我想抓取一个模块的配置设置,并且我被告知要为此使用初始化器。如何为模块创建我自己的初始化程序?

有人可以告诉我如何做到这一点,以及如何从初始化程序引用配置设置?

+1

我不明白这个问题。你想知道一个插件/ gem如何在Rails配置对象中添加一些配置选项/参数吗? – 2010-11-02 14:51:40

回答

11

Ruby on Rails的初始化工具允许您在加载主应用程序之后但在渲染任何页面之前运行任意代码位。这些也是一次性的事情,如果有更改,应用程序必须重新启动。

如果你想配置或重新配置一个模块,你可以这样做。没有什么奇特的要求。通常他们看起来像这样:

# config/initializers/mymodule.rb 
MyModule.widgets_per_second = 100 
MyModule.reject_invalid_foobars = true 

这将取决于你正在尝试配置当然。您可以声明对类的扩展,在其他模块中加载任何可能需要使应用程序正常工作的内容。

一般是不好的形式来强制加载未自动加载的插件或宝石,但至于用什么,有时你需要打破规则让您的应用工作。

+0

好吧,我只是添加像你这样的属性,非常直截了当的谢谢! – Blankman 2010-11-02 14:57:32

+0

如果你有一个自定义模块,你需要用'mattr_accessor'来定义这些模块,或者定义一些类似'widgets_per_second ='的方法,但这是一般的想法。大多数宝石或插件都具有这种配置能力。 – tadman 2010-11-02 14:59:59

相关问题