我有一个 rails 模型Book
,带有 STI 继承的模型Fiction
和NonFiction
虽然书中有很多共同的逻辑,但我想禁止创建父Book
模型。只是想知道在 Rails 中最优雅的方法 - 任何建议表示赞赏
我有一个 rails 模型Book
,带有 STI 继承的模型Fiction
和NonFiction
虽然书中有很多共同的逻辑,但我想禁止创建父Book
模型。只是想知道在 Rails 中最优雅的方法 - 任何建议表示赞赏
您可以将其设置为抽象:
class Book < ActiveRecord::Base
self.abstract_class = true
...
end
Book
您可能会在的初始化程序中引发错误
class Book
def initialize *args
raise "Can't create a Book" if self.class == Book
super # if it's not the Book, proceed with ActiveRecord initialization
end
end