`
xxrrss
  • 浏览: 43455 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Rails的命名惯例(Naming conventions)

    博客分类:
  • Ruby
阅读更多
弄清楚rails的命名惯例,能让你写代码,读代码更加轻松容易。

各种“元素”的命名惯例如下:

变量(variable):字母都是小写,单词之间用下划线分隔,如:
order_status , person_age , city_code .etc


类(Class)&模块(Module):没有下划线,单词的第一个字母是大写。如:
ExamCenter , LineItem , Hotel .etc


数据库表:字母都是小写,单词之间用下划线分隔,是复数。如:
orders , persons , city_codes , third parties .etc


源文件:字母都是小写,单词之间用下滑线分隔。如:
line_item.rb , exam_center.rb , hotel.rb


rails利用这些惯例能自动的找到相关的文件,类或者模块,数据库表,变量等。下面举一个具体的例子:

你程序中有一类来处理一些考试的相关情况,你根据类的命名规则命名为ExamCenter,rails 根据它的规则,它能自动的做以下事情:
1:对应的数据库名称为:exam_centers
2:找到定义了该类的文件exam_center.rb在app/models目录下。

rails在controller模块却又有不同的命名惯例:
现假设你有一个test的control,rails能自动做以下事情:
1:命名controller的类名称为:TestController定义在文件test_controller.r中。
2:rails创建一个helper的Module,命名为TestHelper定义在test_helper.rb中
3:在app/views/test的模板文件
4:它会将在这个controller的所有输出封装到模板文件app/views/layout/test.html.erb中。

分享到:
评论
2 楼 aiyanxu 2012-06-29  
如果是通过脚手架来创建的controller,rails会默认在后面加一个s的。
1 楼 robin5475 2009-04-22  
引用
rails在controller模块却又有不同的命名惯例:
现假设你有一个test的control,rails能自动做以下事情:
1:命名controller的类名称为:TestController定义在文件test_controller.r中。
2:rails创建一个helper的Module,命名为TestHelper定义在test_helper.rb中
3:在app/views/test的模板文件
4:它会将在这个controller的所有输出封装到模板文件app/views/layout/test.html.erb中。


应该是TestsController吧?rails好像默认后边加一个s

相关推荐

    rails指南 中文版

    Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,强调“约定优于配置”(Conventions over Configuration)和“Don't Repeat Yourself”(DRY,不要...

    Rails 101 入门电子书

    - 常见的路由类型: 默认路由、命名路由、约束路由等。 #### 七、练习作业1-建立Group-CRUD与RESTful - **CRUD操作**: - Create (创建): 创建新的Group对象。 - Read (读取): 显示Group的信息。 - Update (更新...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    使用Aptana+Rails开发Rails Web应用(中文)

    在弹出的对话框中,为项目命名,选择Rails版本,以及项目的保存位置。确认设置无误后,点击“Finish”开始创建项目。 Rails项目创建后,Aptana会自动生成基础的目录结构,包括app、config、db、lib等关键文件夹。在...

    Agile Web Development with Rails Final

    By adhering to specific conventions, Rails automatically handles many aspects of application setup, such as database schema, directory structures, and file naming conventions. This approach reduces ...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    通过命令行输入`rails new project_name`即可创建一个新的Rails应用项目,这里`project_name`代表你希望命名的项目名称。该命令会自动初始化一系列的目录结构和基础文件,这些文件是Rails应用程序的骨架。 **知识点...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    RAILS2.1的中文版资料

    Rails 2.1增强了命名范围查询的功能,使其更加灵活且易于使用。 **基于UTC的迁移(UTC-based migrations)** 为了确保数据的一致性和准确性,Rails 2.1现在支持基于协调世界时(UTC)的数据库迁移。这种改进有助于...

    rails api(文档)

    5. **版本控制**:API的版本控制很重要,Rails API允许你为不同版本的API创建独立的命名空间,确保向后兼容性。 6. **错误处理**:Rails API鼓励返回标准的HTTP状态码和结构化的错误消息,以便客户端可以理解并适当...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    Advanced Rails

    高级Rails会讲解如何创建更复杂的路由规则,如命名空间、嵌套资源和条件路由。 3. **ActiveRecord高级用法**:ActiveRecord是Rails的ORM(对象关系映射)工具,用于数据库操作。书中会涵盖关联(如has_many, ...

    The Rails 4 Way

    - **命名路由**:允许开发者通过名字引用路由,使得代码更具可读性,并且可以在路由规则改变时自动更新所有引用该路由的地方。 - **资源路由**:专门为CRUD操作设计的路由规则,简化了控制器和视图的创建过程。 **3...

    Rails 3 in Action

    4. **路由**:Rails的路由系统允许灵活地定义URL到控制器动作的映射,书中介绍了如何设置资源路由、命名路由和自定义路由规则。 5. **ActiveRecord**:详述了ActiveRecord是如何作为对象关系映射(ORM)层工作的,...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性。在这个开发环境包中,我们拥有Ruby ...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    rails向导打包

    Rails 向导是 Ruby on Rails 开发者的重要资源,它为初学者和经验丰富的开发者提供了深入理解 Rails 框架的全面指南。本压缩包包含了多个关键主题的详细文档,涵盖了从数据库操作到应用调试等多个方面。让我们逐一...

Global site tag (gtag.js) - Google Analytics