告白:我的方法只使用私有和公开可见性!

我感觉这是一件坏事。但是在Rails中,这似乎并没有成为一个问题。

是否有人在Rails中有一个示例,如果不使用受保护的可见性将是一个很大的错误?

最佳答案

更新-请参阅下面的注释,该注释链接到true explanation of protected/private in Ruby。确实,这是我Java时代留下的根深蒂固的偏见。我要回答的唯一重要部分是,不是动作的控制器方法不应为public(或者至少是您的路线应该对其进行保护)。

单表继承是protected何时对模型层有所帮助的一个完美示例,因为它是继承中最常见的用途之一。

在控制器层中,在ApplicationController上定义的辅助方法应该标记为protected -如果它们是private,则其他控制器将无法访问它们,但是如果它们是public,Rails会将它们视为动作。

我个人发现,即使在Rails应用程序中,使用类继承也比许多朋友和同事更多。因为我经常使用它(并且在Java时代结束了),所以我偏爱protected作为所有辅助方法来给想要扩展该类的任何人(通常是我自己)以自由-除非我真的对一个人感到尴尬,然后将其标记为private。 :)

10-07 19:22
查看更多