Ruby on rails 3 为什么命名为“模型”;user.rb";而不是",;用户“U model.rb”是什么;?
为什么控制器名为“users\u controller.rb”,而模型名为“user\u model.rb” 为什么有“application\u controller.rb”,但在内部视图中,文件夹“layout”没有命名为“application”?Ruby on Rails遵循以下原则。特别是命名约定,Rails在将路由映射到控制器、自动加载和重新加载类、为操作和许多其他功能找到合适的模板时广泛使用 这一原则导致了一些限制,因为你不可能轻易打破一些惯例而不陷入麻烦。但另一方面,它使我们的生活更轻松,因为我们的配置量更小,并且可以轻松地从一个Rails项目移动到另一个Rails项目,因为它们都具有相似的结构,并且遵循相同的约定。此外,我认为,这使得Rails核心开发变得更加容易,因为核心团队拥有大量关于使用Rails的项目将如何构造的信息,而且他们不必担心太多的泛化问题。他们只是假设你遵守规则和惯例Ruby on rails 3 为什么命名为“模型”;user.rb";而不是",;用户“U model.rb”是什么;?,ruby-on-rails-3,Ruby On Rails 3,为什么控制器名为“users\u controller.rb”,而模型名为“user\u model.rb” 为什么有“application\u controller.rb”,但在内部视图中,文件夹“layout”没有命名为“application”?Ruby on Rails遵循以下原则。特别是命名约定,Rails在将路由映射到控制器、自动加载和重新加载类、为操作和许多其他功能找到合适的模板时广泛使用 这一原则导致了一些限制,因为你不可能轻易打破一些惯例而不陷入麻烦。但另一方面,它使我们的生
不过,我怀疑许多命名约定背后是否有严肃的理由。我想在某个时候,有人刚刚决定,如果Rails都有
Controller
后缀,那么Rails将更容易处理您的控制器,并将它们与其他类区分开来。在这里,我们的所有控制器都位于app/controllers
目录中,并带有该后缀。当命名支持问题的开发人员内部模型时,代码从Think best中流出。在构建应用程序时,我不想查找用户模型(UserModel.find
),而是想查找用户(user.find
)。另一方面,控制器是web界面和数据存储(以及业务逻辑)之间的转换层,因此将它们称为不同的东西更有意义
还有名称空间的问题;如果我的模型和控制器都是命名用户,那么在任何给定时刻我指的是哪个用户?在本例中,您可以用它们的类型命名所有内容,这会遇到我上面描述的问题,或者一个“wins”并允许被引用为“bare”。似乎最有意义的是,模型将获胜,从而提供更好的心理映射
在app/views/layout
内部是application.html.erb
,您可以拥有由不同控制器选择的其他布局
然而,最终,这些都是在Rails开发过程中做出的选择,它们完全是基于开发人员认为最有意义的风格选择,因此很遗憾,您的问题没有真正的“正确”答案。事实上,一些类似的决定已经被重新审视。(
application\u controller.rb
过去只是命名为application.rb
)实际上,app/views
目录包含一个layouts
目录,其中包含一个application.html.erb
文件,该文件就是应用程序布局。为什么它如此重要?如果它们是anmed#####u model.rb,它会帮助您更好地编写代码吗?