1:在启动web服务器时,可以通过加上-e选项,指定启动时选用哪个环境
ruby script/server -e development | test | production
2:rails里强调“惯例重用配置”,从数据库中的表,到控制器,到模型,再到视图,命名是有关联的!文件的存放路径也是有关联的。我们在命名和存放文件时需要遵守这种惯例。一旦我们遵守了这种惯例这四者之间的映射都是rails自动替我们去完成的,这也是rails为何能“敏捷”的重要原因。
3:控制器的路径默认是存放在app/controllers根目录下的,但如果我们需要在根目录下再组织一下控制器的路径,那么可以将控制器的声明位于ruby模块之下。例如,我们要将book_controller.rb文件放置于admin目录下,也就是app/controllers/admin/book_controller.rb,那么,我们就应该这样声明:
class Admin::BookController < ApplicationController
..
end
rails的生成器很智能,你可以直接使用
ruby script/generate controller Admin::Book action1 action2
4:rails用ActiveRecord来处理对象-关系映射(ORM)。数据库中的一张表对应着模型中的一个类,表名是小写的,多单词用下划线分隔,而且是复数形式。对应的类名是单词首字母大写来进行分隔的,而且是单数形式。表中的字段直接映射成类的属性,除此之外,我们还可以给类再另外添加一些属性。表名和类名是通过命名惯例去自动对应的,(rails对ruby的字符串类进行了扩展,让它直接支持单复数之间的转变,例如 puts "cat".pluralize #=>cats puts "cats".singularize #=>cat),仅管pluralize和singularize方法已经很智能了,能处理child和children这样的单复数转换,但它仍然还是有缺陷,例如sheep会对应到sheeps。我们可以在模型类中,cefpset_table_name去显示地指明对应的表,而不使用缺省的惯例。
class Sheep < ActiveRecord::Base
set_table_name "sheep"
end
5:ActiveRecord从表中取出值,变成类的对象时,会自动将数据库中的类型转换成ruby支持类型。如果你希望得到一个属性的原始值,可以在属性名称后面加_before_type_cast。
account.balance_before_type_cast
6:布尔型的数据在转换的时候会有些麻烦,有些数据库是不支持布尔型的,所以我们在工作中,可以使用0,1这样的数字来代表布尔值的真假,而ruby中只有false和nil为假,0其实是为真的。所以在数据库映射到类时,我们要判断某个属性的真假时,记得要加一个?号,这个是rails为解决布尔型问题而设置的。
if user.superuser?
doSomeThing
end
7:主键。一般来说,rails都会用id作为每张表的主键,但表并不是由我们自己来建的,可能表会用别的字段作为主键。我们可以用set_primary_key来显示地指定主键字段。
class BadBook < ActiveRecord::Base
set_primary_key "isbn"
end
但需要注意的是,既然指定主键为其它字段,但在访问时,仍然可以通过名为id的属性来设置主键值,也就是说,只要使用ActiveRecord,主键字段在对象中的属性名称就永远都是id。
分享到:
相关推荐
标题 "rails查询学习笔记" 涉及的是Ruby on Rails框架中的数据库查询技术。Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发Web应用更加高效...
#### 二、Sunspot 安装 在开始之前,请确保已经安装了以下组件: 1. **Ruby on Rails 3**:本文档主要针对 Rails 3 版本。 2. **Solr**:全文检索引擎,Sunspot 依赖于 Solr 来实现其功能。 3. **Sunspot gem**:...
陈刚的Ruby on Rails学习笔记不仅提供了从零开始构建Rails项目的步骤指南,还深入浅出地讲解了MVC架构的基本原理,对于初学者来说是一份非常实用的参考资料。通过实践“Hello World”程序,读者可以亲身体验Rails的...
综上所述,Ruby on Rails的笔记内容涵盖了从安装Rails环境到创建和运行一个简单的Rails项目的基础知识,这些内容对于初学者来说是学习Rails框架的极好入门材料。通过对这些知识点的学习,初学者可以快速了解Rails的...
通过阅读《Ruby on Rails笔记》,我们可以了解到作者对于Ruby on Rails学习过程中的深入理解和实践经验。这份笔记不仅是一份学习指南,也是对Rails初学者来说非常有价值的参考资料。无论是想要从零开始学习Rails,...
在开始Rails的学习之旅之前,首先需要搭建一个合适的工作环境。以下为环境搭建的具体步骤: 1. **Ruby 版本**: - 官方推荐使用 Ruby 1.9.2 或更高版本,因为之前的版本如 1.8.7 p248 和 p249 存在可能导致 Rails ...
#### 二、Passenger+Nginx 环境配置 Passenger 是一款用于部署 Ruby 应用程序的 Web 服务器,它与 Nginx 结合使用时能提供高性能的服务。 ##### 安装 Passenger 1. **安装 Passenger:** ```sh gem install ...
通过以上内容的学习,我们了解了Rails的基本环境搭建、应用创建、控制器与视图的关系、动态内容的展示方式以及敏捷开发的思想。Rails以其高效简洁的特点,成为了Web开发领域的重要工具之一。掌握Rails不仅能够提高...
### Rails 入门详细笔记知识点解析 #### 一、环境搭建 在开始使用 Rails 进行开发之前,首先需要确保你的开发环境满足以下条件: - **Ruby 版本**:推荐使用 Ruby 1.9.2 或更高版本。这是因为早期版本如 1.8.7 ...
- **节约成本:** 使用 Ubuntu 可以避免购买操作系统许可证的成本,适用于个人学习或项目开发。 - **虚拟化解决方案:** 可以使用 VirtualBox 软件在现有操作系统上安装 Ubuntu 虚拟机,无需单独的硬件资源。 #### 二...
第二章“Rails中的资源应用”,详细解释了使用scaffold命令创建资源的步骤,以及如何实现REST(Representational State Transfer)风格架构。REST架构已成为现代Web开发中的一个核心概念,Rails为实现RESTful服务...
在本篇ROR(Ruby on Rails)学习笔记中,我们将深入探讨如何在Windows XP操作系统上进行环境的安装和配置。Ruby on Rails是一个流行的开源Web应用框架,它基于Ruby编程语言,以其“DRY”(Don't Repeat Yourself)...
陈刚撰写的《Ruby on Rails心得_V0.1》是一份非常宝贵的资料,旨在记录作者在学习Ruby on Rails过程中的所见所得,包括读书笔记、心得体会、自创教程及一些常见问题的解决方案。作者通过写作这种方式不仅加深了对...
ICC学习笔记 ICC 学习笔记是一份详细的学习笔记,涵盖了 IC Compiler 的基础概念介绍,非常适合入门学习。该笔记中介绍了多个重要概念,包括 core ring、strap、macro ring、rail、track、trace、Gcell、Antenna ...
总的来说,`rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z`文件包含了一个在Windows上开始Ruby编程所需的基本组件和学习资源。通过安装Ruby和DevKit,你可以轻松地编写、编译和运行Ruby代码,同时结合学习...
"后端语言的学习笔记.zip"这个压缩包很可能包含了关于各种后端编程语言的学习资源,特别是那些用于构建动态网站和Web服务的语言。尽管没有具体的标签提供额外信息,我们可以推测这可能涵盖了诸如Java、Python、Node....
本笔记摘录自WDI HKV以及lynda.com的在线Rails教程,旨在提供一个全面且深入的学习指南。 ### 1. **基础概念** - **MVC架构**:Rails采用Model-View-Controller(MVC)设计模式,将业务逻辑(Model)、用户界面...
摘要:一直想尝试Ruby On Rails,但是因为对apache,mysql都不熟,对Rails的环境搭建更是没信心,所以一直没有开始,从知道了InstantRails后,终于在windows上搭建了Ruby On Rails开发环境,开始了Rails的学习。...
在描述中提到的“NULL”可能意味着该资源没有提供详细的介绍,但通过博文链接(https://hlee.iteye.com/blog/351357),我们可以推测这是一个关于学习和实践Rails 3的博客文章,可能包含了作者的学习笔记、示例代码...