我想扩展Object来添加几个方法。Ruby:我如何向Object添加方法? (或简单地扩展对象类)
所以我可以做@object.table_name
而不是@object.class.name.tableize
和类似这样的事情。
我正在使用Ruby 1.8.7和Rails 2.3.8,所以也许这种事情会在lib文件夹中作为一个模块?我不知道。
我想扩展Object来添加几个方法。Ruby:我如何向Object添加方法? (或简单地扩展对象类)
所以我可以做@object.table_name
而不是@object.class.name.tableize
和类似这样的事情。
我正在使用Ruby 1.8.7和Rails 2.3.8,所以也许这种事情会在lib文件夹中作为一个模块?我不知道。
放入/config/initializers
或进入lib
文件夹(在这种情况下,你需要把它列入ApplicationController
)。
替代方法(只要该方法不存在)是将该方法放入一个模块中,并将该模块包含在一个类中)。 –
你有时会看到委托实例方法的类一个成语就是:
delegate :table_name, :to => 'self'
'Object'是不是要修改的类。 –