5 個常見的 Rails 開發誤區
本文作者是一名Rails開發者,他總結了在Rails開發過程中的一些常見誤區。文章內容如下:
我使用Rails已經有一段時間了,在這期間我看了大量的Rails專案,下面的這五個常見的誤區,我幾乎在每一個Rails程式碼中都看到過。
1. 沒有 schema 規範的遷移
資料模型是應用程式的核心。沒有schema的約束,你的資料會因為專案程式碼上的bugs而慢慢變得糟糕,直到你無法相信庫中的任何欄位。這裡有一個 Concact Schema:
t.integer "user_id"
t.string "name"
t.string "phone"
t.string "email"
end上面哪些需要更改呢?通常一個Contact必須依附於User,並且會有一個name 屬性,這可以使用資料庫約束來確保。可以新增“:null => false”,這樣即使驗證程式碼存在bugs,我們依然可以確保模型一致性,因為如果違反了null約束,資料庫並不會允許模型儲存這些資料。
t.integer "user_id", :null => false
t.string "name", :null => false
t.string "phone"
t.string "email"
endTIPS:使用“:limit => N”規範你的string型別欄位的大小。Strings 預設255個字元,而phone欄位應該不需要這麼長吧!
我使用Rails已經有一段時間了,在這期間我看了大量的Rails專案,下面的這五個常見的誤區,我幾乎在每一個Rails程式碼中都看到過。
1. 沒有 schema 規範的遷移
資料模型是應用程式的核心。沒有schema的約束,你的資料會因為專案程式碼上的bugs而慢慢變得糟糕,直到你無法相信庫中的任何欄位。這裡有一個 Concact Schema:
CODE:
create_table "contacts" do |t|t.integer "user_id"
t.string "name"
t.string "phone"
t.string "email"
end上面哪些需要更改呢?通常一個Contact必須依附於User,並且會有一個name 屬性,這可以使用資料庫約束來確保。可以新增“:null => false”,這樣即使驗證程式碼存在bugs,我們依然可以確保模型一致性,因為如果違反了null約束,資料庫並不會允許模型儲存這些資料。
CODE:
create_table "contacts" do |t|t.integer "user_id", :null => false
t.string "name", :null => false
t.string "phone"
t.string "email"
endTIPS:使用“:limit => N”規範你的string型別欄位的大小。Strings 預設255個字元,而phone欄位應該不需要這麼長吧!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/301743/viewspace-731265/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常見的5個區塊鏈應用開發錯誤理解區塊鏈
- Golang開發常見的57個錯誤Golang
- 蘋果開發幾個常見的錯誤蘋果
- 10個常見的快取使用誤區快取
- 10個常見的Android 新手誤區Android
- 7個前端新手常見誤區,千萬要避開前端
- Code Review 常見的5個錯誤模式View模式
- 從選域名到SEO,盤點Web開發最常見的5個誤區Web
- Web開發常見性的錯誤Web
- 智慧應用中八個常見的誤區
- 5個常見的JavaScript記憶體錯誤JavaScript記憶體
- SOCKS代理的常見誤區
- 10 大常見的web開發錯誤Web
- 敏捷軟體測試常見的七個誤區敏捷
- Elasticsearch常見的5個錯誤及解決策略Elasticsearch
- 常見的資料分析誤區
- 10個iOS開發常見錯誤,你中招了嗎iOS
- 十個常見的快取使用誤區及建議快取
- 使用 Promise 時的5個常見錯誤,你佔了幾個!Promise
- JavaScript的一些常見誤區JavaScript
- 招聘開發者常見的九大誤區
- 15個常見網站開發錯誤,誰都可能犯網站
- 開發F2P遊戲需避開的5個誤區遊戲
- 9個常見的Android開發錯誤及解決辦法Android
- 開發新手最容易犯的50個 Ruby on Rails 錯誤(1)AI
- 5個常見可用性錯誤和解決方案
- 開發常見錯誤及解決方案
- Linux新手常見的7個認知誤區,你中了幾個?Linux
- 常見的ERP系統實施中的10個誤區
- 使用代理IP常見的三大誤區
- 談談資料安全常見的誤區
- 資料治理常見的誤區有哪些
- 【譯】使用 Android Architecture Components 的五個常見誤區Android
- WCF分散式開發常見錯誤(27):Securechannelcannotbeopened分散式
- 常見資料分析誤區有哪些?
- 那些常見的Web前端學習誤區分享!Web前端
- PHP開發中最常見的10個錯誤PHP
- 中科三方:關於SSL證書的幾個常見誤區