Ruby on Rails 学习手记

  • 变量名和文件名应该全部采用小写字母,单词之前用下功线分隔
  • 类名和模块名每个单词首字体大写,没有下划线
  • 模型文件名以单数形式表示,表名会被自动以复数形式的表示
  • Logger日志框架支持四个级别,分别是:warn、info、error、fatal,这些信息会被写入log目录下
  • debug()这个方法可以将对象格式化为合法的html在页面上显示

命令

  • Migration的建立和执行
# 建立
rails g migration [migration_name]
# 执行
rake db:migrate
  • 与Migration相关的Rake命令
    • rake db:create 按照目前的 RAILS_ENV 环境建立数据库
    • rake db:create:all 建立所有环境的数据库
    • rake db:drop 按照目前的 RAILS_ENV 环境删除数据库
    • rake db:drop:all 删除所有环境的数据库
    • rake db:migrate 执行Migration操作
    • rake db:rollback STEP=n 回滚上N个Migration操作
    • rake db:migrate:up VERSION=20080906120000 执行指定版本的Migration
    • rake db:migrate:down VERSION=20080906120000 回滚指定版本的Migration
    • rake db:version 当前数据库的Migration版本
    • rake db:seed 执行 db/seeds.rb 载入种子数据

配置

  • 安装Gem时不安装doc
# 修改~/.gemrc,加入
gem: --no-ri --no-rdoc

问题

  • Error installing mysql2: ERROR: Failed to build gem native extension.

没有安装必要的mysql库导致:

apt-get install libmysql-ruby libmysqlclient-dev
  • Unknown database ‘simple_cms_development’
rake db:create
  • 使用mongoid的项目在生成migration的时候显示“error mongoid [not found]”

修改config/application.rb,加入

config.generators do |g|
  g.orm :active_record
end