ruby-on-rails - 你曾经在 Rails 中使用 protected 可见性吗?

标签 ruby-on-rails private public protected

表白:我只用私有(private) 公众 我的方法的可见性!

我有一种感觉,这是一件坏事。但在 Rails 中,这似乎不是一个问题。

是否有人在 Rails 中有一个示例,如果不使用 将是一个大错误 protected 能见度?

最佳答案

更新 -- 请参阅下面链接到 true explanation of protected / private in Ruby 的评论.这确实是我在 Java 时代留下的根深蒂固的偏见。我的答案剩下的唯一重要部分是不是操作的 Controller 方法不应该是 public (或者至少你的路线应该保护它们)。

单表继承是 protected 时的完美示例在模型层中很有帮助,因为它是那里最常见的继承用途之一。

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

就我个人而言,我发现我比我的许多 friend 和同事更多地使用类继承,即使在 Rails 应用程序中也是如此。因为我经常使用它(并且从我的 Java 时代走出来),我喜欢 protected对于所有的帮助方法,让任何想要扩展类的人(通常是我自己)都可以自由——除非我真的对其中一个感到尴尬,否则我标记它private . :)

关于ruby-on-rails - 你曾经在 Rails 中使用 protected 可见性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896556/

相关文章:

ruby-on-rails - 如何禁用 Rails 4 中的所有 CLI 测试日志?

ruby-on-rails - Spork 自动重启

java - 非公有或非私有(private)的变量-Java

php - CakePHP "Fatal error: Class ' 在不引用调试器的文件中找不到“调试器”

ruby-on-rails - 在 View 中渲染 View

ruby-on-rails - 如何监控旅客/mod_rails流程?

Objective-c:为什么在使用 KVC 时不对外部访问隐藏私有(private) ivar

java - 访问说明符涉及子类中的重写吗?

c++ - 为什么 dynamic_cast 在这里给 nullptr 私有(private)继承?

facebook - 搜索 Facebook 公共(public)事件