Ruby on rails Ruby:如何向对象添加方法?(或仅扩展对象类)
我想扩展Object以添加一些方法 所以我可以做Ruby on rails Ruby:如何向对象添加方法?(或仅扩展对象类),ruby-on-rails,ruby,monkeypatching,Ruby On Rails,Ruby,Monkeypatching,我想扩展Object以添加一些方法 所以我可以做@object.table\u name而不是@object.class.name.tableize 类似的事情 我使用的是Ruby 1.8.7和Rails 2.3.8,所以这种东西可能会作为一个模块放在lib文件夹中?我不知道 # object.rb class Object def table_name self.class.name.tableize end end 将其放入/config/initializers或lib文
@object.table\u name
而不是@object.class.name.tableize
类似的事情
我使用的是Ruby 1.8.7和Rails 2.3.8,所以这种东西可能会作为一个模块放在lib文件夹中?我不知道
# object.rb
class Object
def table_name
self.class.name.tableize
end
end
将其放入/config/initializers
或lib
文件夹中(在这种情况下,您需要将其包含在ApplicationController
中)
将它放入
/config/initializers
或lib
文件夹中(在这种情况下,您需要将其包含在ApplicationController
中)。您有时会看到一个将实例方法委托给类的习惯用法就是:
delegate :table_name, :to => 'self'
您有时会看到将实例方法委托给类的习惯用法是:
delegate :table_name, :to => 'self'
另一种方法(只要该方法不存在)是将该方法放入模块中,并将该模块包含在类中。另一种方法(只要该方法不存在)是将该方法放入模块中,
对象
不是要修改的类。对象
不是要修改的类。