Ruby on Rails 常用指令、程式碼整理

我開始學ROR,因為指令很多,所以特別寫整理這一篇文章來紀錄常用的指令。

資料庫遷移 (前面加 STEP=2 可以指定移動2個版本,例如STEP=2 rake db:rollback)
rake db:rollback
rake db:migrate
rake db:migrate:status

依照 db/schema.rb 建立資料庫,或是撈出資料庫
rake db:schema:load
rake db:schema:dump

資料庫中預設保留的欄位
created_at – 创建记录时,自动设为当前的时间戳;
updated_at – 更新记录时,自动设为当前的时间戳;
lock_version – 在模型中添加乐观锁定功能;
type – 让模型使用单表继承;
(association_name)_type – 多态关联的类型;
(table_name)_count – 缓存关联对象的数量。例如,posts 表中的 comments_count 字段,缓存每篇文章的评论数

檢視路由表
rake routes

查詢複數形
rails c 然後 “user".pluralize => users

防止中文編碼出問題的註解
# encoding: UTF-8

Migration的資料庫預設30字元,不可為空值,預設空白
t.string :name, limit: 30,  null: false, default: "

欄位的設定
ActiveRecord::ConnectionAdapters::TableDefinition

Model底下可以用serialize 去指定序列化的欄位

Gem  acts_as_nested_set  這個Gem可以去處理樹狀資料庫結構的問題

所有的 Rails 元件(如 ActionMailer, ActionController, ActionView, ActiveRecord)都是一個 Railtie,如果你想要像這些一樣的方式來擴充 Rails ,那你可以閱讀這個 Rails::Railtie 來嘗試建立自己的 Railtie
修改 Rails 原本的行為,我們也稱爲「打 Patch」,所以你可以用上面的 Concern 幫 ActiveRecord 打 patch

page 1 of 1
Welcome , today is 星期五, 2024/11/15