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
- Code Review 常見的5個錯誤模式View模式
- 7個前端新手常見誤區,千萬要避開前端
- SOCKS代理的常見誤區
- 5個常見的JavaScript記憶體錯誤JavaScript記憶體
- 【譯】使用 Android Architecture Components 的五個常見誤區Android
- Elasticsearch常見的5個錯誤及解決策略Elasticsearch
- 常見的資料分析誤區
- 開發新手最容易犯的50個 Ruby on Rails 錯誤(1)AI
- Linux新手常見的7個認知誤區,你中了幾個?Linux
- 常見的ERP系統實施中的10個誤區
- 使用 Promise 時的5個常見錯誤,你佔了幾個!Promise
- 15個常見網站開發錯誤,誰都可能犯網站
- 談談資料安全常見的誤區
- 使用代理IP常見的三大誤區
- 資料治理常見的誤區有哪些
- 開發F2P遊戲需避開的5個誤區遊戲
- 常見資料分析誤區有哪些?
- 整合營銷常見的四大誤區
- 那些常見的Web前端學習誤區分享!Web前端
- 中科三方:關於SSL證書的幾個常見誤區
- Mac 上的 5 個常見錯誤程式碼以及修復辦法Mac
- 使用Python時常見的9個錯誤Python
- 區塊鏈和比特幣常見的七大誤區區塊鏈比特幣
- 《重學Java高併發》Sempahore的使用場景與常見誤區Java
- DevOps實踐中,遇到的常見誤區有哪些?dev
- 這10個iOS開發常見錯誤,你確定你沒中招嗎iOS
- Laravel 個人開發常見問題Laravel
- 常見的錯誤 SQL 用法SQL
- SSH常見錯誤
- MySQL 常見錯誤MySql
- react-native啟動開發常見錯誤(持續更新)React
- Web前端工程師的一些常見誤區介紹!Web前端工程師
- 美女程式設計師分享資料庫常見17個使用誤區 - Jaana程式設計師資料庫
- 關於一個前端開發常見shell命令的操作前端
- 建設手機網站有哪些常見誤區?網站
- 【常見錯誤】--Nltk使用錯誤
- Python開發常見漏洞Python