在一次开发过程中遇到一个奇特的问题。
创建一个rack模型,发现模型测试不成功。比如在console下测试:Rack.class,给出的显示居然是Module。而一般的模型类显示其class的时候,得到的一定是class。
看到这个信息的时候,想到的问题就是rack一定作为module实现存在了。也就是rack是不是应该是一个保留类。
到google上搜索了一下,发现如下这个url
http://asciicasts.com/episodes/151-rack-middleware
才发现这个rack果然是在rails2.3之后引入的一个模块。它的作用在上面的网页中已经讲述的非常清楚。
从这个案例中,发觉由于rails的开放,逐步将一些成型的模块纳入到rails框架中,而这些模块中使用到的一些类名或者模块名,变成了保留字,这在我们日常开发中需要注意。
如何发现我们准备使用的模块名或者类名,是系统保留呢?采用如下方法,还是可行的:
进入rails 的console状态,双击tab键,即可看到系统现有的一些类,这些类名或者模块名(大写开头)都是保留字,最好不要使用,如Rails、Array等。这其中还包括小写的一些表达式,如break等。
分享到:
相关推荐
使用ActionCable进行网络套接字以启用与多个客户端的画布连接。 这将保留所有动画对象,并将它们与各自的画布和用户连接起来。 创建用户,画布,带书签的画布和动画端点。 安装 运行“捆绑安装”以安装必需的gem。 ...
默认情况下,Rails / ActiveRecord 3为每个模型中的所有数据库表列创建属性访问器。 具有特定名称的列会导致错误,因为它们会导致ActiveRecord以不兼容的方式在Ruby或ActiveRecord中重新定义键方法。 一个经典的...
喝得深一些,或者不尝尝皮埃里扬泉:-亚历山大·波普(Alexander Pope) 是学习应用程序的正在进行中的使用Rails后端,前端有React / Redux,PostGreSQL数据库并托管在Heroku上。 Pierian Spring允许用户注册并登录...
- Ruby 中有一些特定的保留字,例如 `BEGIN`, `do`, `next`, `then`, `END`, `else`, `nil`, `true`, `alias`, `elsif`, `not`, `undef` 等。 - 这些保留字不能用作常量或变量名称,但可以用作方法名。 #### 五、...
需要注意的是,文档中提到的内容是通过OCR扫描得到的,可能存在个别字识别错误或者遗漏,这需要读者在阅读时自己理解并进行适当调整。 总结来说,这份Ruby教程中文版为Ruby的初学者提供了一个很好的学习资源。通过...
这将把所有的小写 "rails" 替换为大写的 "Rails",但保留已大写的 "Rails"。 总的来说,Ruby中的正则表达式提供了一种灵活且强大的方式来处理字符串,无论是简单的查找、替换还是复杂的文本分析任务。通过熟练掌握...
了解这些保留字对于理解Ruby语法至关重要。 **2. Operators(运算符)** - Ruby支持多种运算符,包括算术运算符(如加、减、乘、除)、比较运算符(如等于、不等于)、逻辑运算符(如与、或、非)等。 **3. ...
至少,该应用程序有望: 界面清晰舒适允许用户注册和认证在多个客户端之间实时传递消息支持多个房间或对话在服务器上保留消息,以便以后查看预先计划Rails应用程序将用于实现视图模板,oauth,路由和数据库记录。...
文档提到了一些关键内容的目录结构,例如运行 Ruby 解释器、使用 Unix/Linux 系统中的 Shebang 行、在 Windows 上关联文件类型、Ruby 的保留字、运算符、注释、数字、变量、符号、预定义变量、伪变量、全局常量、...
2. **Ruby命名规范**:如使用有意义的变量名,避免使用保留字,驼峰式命名等。 3. **代码风格指南**:例如Ruby的编码风格如Ruby Style Guide,包括缩进、空格、行长度限制等。 4. **注释和文档编写**:如何编写清晰...
前端是用React / Redux编写的,后端是用Ruby on Rails编写的。 用户可以在数据库中搜索食谱,并将自己喜欢的食谱保存到应用程序中。有一个保存的食谱文件夹,该文件夹可让您按份量(产量)对食谱进行排序,并按字母...
FusionCharts是一款由InfoSoft Global公司推出的强大的Flash图表组件,它允许用户在不涉及Flash编程的情况下,通过各种编程语言(如***, ASP, PHP, JSP, ColdFusion, Ruby on Rails等)集成图表。FusionCharts支持...
但我可以根据标签“Ruby”来分享一些关于Ruby编程语言的知识。 Ruby是一种面向对象的、动态类型的、解释型的编程语言,由日本人松本行弘(Yukihiro Matsumoto)在1995年设计并开发。它的设计理念是让编程变得更加...
该项目是通过引导的。 您将在下面找到一些有关如何执行...Ruby on Rails 在开发中代理API请求 配置代理后出现“无效的主机头”错误 手动配置代理 配置WebSocket代理 在开发中使用HTTPS 在服务器上生成动态<met
它们可以与方法一起使用,实现类似于闭包的功能,即保留对环境的引用。 4. **方法定义与调用**: `def`定义方法,后面跟着方法名,然后是参数列表,方法体用`end`结束。方法调用时,可以使用点操作符`.`,如`object....
3. **精度控制**:为了满足不同用户需求,换算器应该允许用户选择结果的显示精度,例如保留小数点后几位数字。 4. **用户友好界面**:良好的交互设计是关键,包括清晰的输入框、选择单位的下拉菜单、转换按钮以及...
4. **闭包和上下文**:理解块、Proc和Lambda如何捕获并保留其定义时的上下文,是掌握Ruby高级特性的重要一步。 5. **元编程**:Ruby允许在运行时修改自身,这被称为元编程。例如,你可以动态添加方法、修改类的行为...
值得注意的是,如果一个容器元素(如`<div>`)添加了`class="fixie"`,那么它内部的所有非空后代元素都会被填充内容,但原有的非`fixie`类文本将被保留。 为了突出显示填充的内容,可以在CSS中添加样式,如`.fixie{...
1. **简洁明了的语法**:Ruby的设计理念之一是使代码易于阅读和编写,这使得Ruby的语法非常简洁,同时保留了足够的表达力。 2. **面向对象编程**:Ruby是一门完全面向对象的语言,所有事物都是对象,包括基本数据...
使用301重定向不仅可以避免搜索引擎将原网页视为重复内容而降低排名,而且还能确保用户在访问旧链接时能够自动跳转到新的URL,从而保留原有的用户流量。以下详细介绍实现301重定向的12种方法,包含9种编程语言和3种...