何时在ROR中声明专用或受保护的回调方法?

问题描述:

我正在看看ROR中的一些最佳实践,并且我注意到回调方法是在受保护的部分中声明的,而不是私有的。我在声明回调方法时总是使用private,所以我想知道是否最好使用protected和why。这个实现有什么实质性的区别吗?何时在ROR中声明专用或受保护的回调方法?

private - 只能在定义它们的类中访问。

protected - 在定义它们的类中以及从该类继承的其他类中可访问。

+0

的确如此,但我在ROR上下文中询问了这种影响。 – Dagosi

+0

通过定义回调'protected',它允许你的类的子类使用它们。 我想如果你不太可能继承你的模型,那么把它们保留为私有模式。 –

+0

使用保护时,我得到了同样的错误。似乎你需要使用公开的在父级定义的STI回调。 – justingordon