par*_*lia 0 ruby inheritance abstraction ruby-on-rails
假设我有一个名为Project的模型类,但不是这样的:
class Project < ActiveRecord::Base
Run Code Online (Sandbox Code Playgroud)
我想写这个:
class Project < ORM
Run Code Online (Sandbox Code Playgroud)
这样我的模型类中就不存在特定的ORM实现.
我如何编写我的ORM类,以便上面的Project类能够作为子类,ActiveRecord::Base
但没有专门的子类化?
我会简单地说:
class ORM < ActiveRecord::Base
Run Code Online (Sandbox Code Playgroud)
然后Project将是一个子类,ActiveRecord::Base
就像我写的一样:
class Project < ActiveRecord::Base
Run Code Online (Sandbox Code Playgroud)
可能更简单的方法是分配ActiveRecord::Base
:
ORM = ActiveRecord::Base
class Project < ORM
end
Run Code Online (Sandbox Code Playgroud)
然后,如果您想稍后交换到其他实现,则可以将分配更改为ORM.
归档时间: |
|
查看次数: |
160 次 |
最近记录: |