如果我有一个Book
模型:如何正确实例化一个子类中的红宝石
class Book < ApplicationRecord
def calculate_page
.
.
end
end
我创建一个自定义子类ExtendedBook
:
class ExtendedBook < Book
end
如何实例化一个继承扩展书对象一个书籍实例以及它的实例方法。东西上的线路:
@book = Book.first
@extended_book = ExtendedBook.new (@book, @attributes_for_extended_book)
所以,我最终能够直接使用@book
的实例方法在@extended_book
对象,如:
@extended_book.calculate_page
,而无需手动定义attr_getter为ExtendedBook
子类中的calculate_page
。
你的'Book#initialize'方法是怎样的? 'calculate_page'使用哪些实例变量,以及它们如何连接到'@ book'和'@ attributes_for_extended_book'? – spickermann
我觉得你现在应该工作...... –
目前还不清楚问题是什么 - 在什么情况下你想这样做,为什么?什么是“ExtendedBook”?它只是你想添加到'Book'中的方法吗?你如何区分'Book'和'ExtendedBook'? –