我想扩展Object以添加一些方法。
所以我可以@object.table_name
而不是@object.class.name.tableize
和类似的事情一样。
我正在使用Ruby 1.8.7和Rails 2.3.8,所以也许这类东西会作为模块进入lib文件夹?我不知道。
答案 0 :(得分:4)
# object.rb
class Object
def table_name
self.class.name.tableize
end
end
将其放入/config/initializers
或lib
文件夹(在这种情况下,您需要将其包含在ApplicationController
中)。
答案 1 :(得分:1)
您有时会看到将实例方法委托给类的惯用语就是:
delegate :table_name, :to => 'self'