【发布时间】:2010-12-15 02:53:39
【问题描述】:
A 类和 B 类相同:
class A < ActiveRecord::Base
def foo
puts "foo"
end
end
class B < ActiveRecord::Base
def foo
puts "foo"
end
end
用基类进行这样的重构有什么区别:
class Base < ActiveRecord::Base
def foo
puts "foo"
end
end
class A < Base
end
class B < Base
end
相对于使用基础模块:
module Base
def foo
puts "foo"
end
end
class A < ActiveRecord::Base
include Base
end
class B < ActiveRecord::Base
include Base
end
一种方式比另一种更可取吗?
【问题讨论】:
-
您的意思是在基类示例的子类中包含 foo 的定义吗?
-
不,我没有。谢谢。我删除了它。
标签: ruby-on-rails ruby inheritance activerecord mixins