Railtie 文件下的内容

提供以下实例方法:

initializer

实际上 initializer 定义于 Rails::initializable. 它还可以接受 :before 或 :after 做为参数。

Rails::Railtie include 了它,所以对外提供有 initializer 方法:

class MyRailtie < Rails::Railtie
  # initializer 来源于 Rails::initializable
  initializer "my_railtie.configure_rails_initialization" do
    # 一些初始化代码
  end
end

initializer 还可将应用做为参数,所以可以这么用:

class MyRailtie < Rails::Railtie
  initializer "my_railtie.configure_rails_initialization" do |app|
    app.middleware.use MyRailtie::Middleware
  end
end

config

你可以使用 config 对象,它在所有 Railtie 和你的应用里是共用的。

Note: config 定义于 Configurable. delegate :config, to: :instance

rake_tasks & generators

继承于 Rails::Railtie 所以有 rake_tasks 方法:

继承于 Rails::Railtie 所以有 generators 方法:

其它

类方法:

实例方法:

部分方法的解释,可以参考已有解释的方法,或参考 Engine 里的方法。

最后更新于

这有帮助吗?