Ruby on Rails項目文件目錄結構
README 說明文檔
Rakefile 生成腳本
app/ 存放項目的Model, View和Controller等文件
components/ 存放可重複使用的組件, 現在已經不大使用
config/ 配置文檔及數據庫連接配置文檔
db/ 存放數據庫schema和migration信息
doc/ 存放自動生成的文檔
lib/ 存放在Model, View和Controller間共享的代碼
為方便整理,不同功能的代碼可放到其不同的子目錄下.
調用sub_dir下的my_lib_code.rb代碼的方法為: require "sub_dir/my_lib_code"
log/ 存放程序生成的日誌文件
裡面有三個最主要的log為:development.log, test.log和production.log,分別對應不同的運行環境.
public/ 存放對網絡公開的文件
script/ 存放腳本工具
不帶參數直接運行大多數的腳本工具可以顯示出相應的使用幫助信息.
常見的script:
about
breakpointer
destroy<=>generate
server
script/performance/benchmarker
test/ 測試工具
tmp/ 存放臨時文件, 如緩存, session, socket…
vendor/ 存放外來代碼, 如外來插件, 也可用來放rails構架本身, 以使rails兼容不同版本需求的程序.
運行環境
使用-e XXXX切換運行環境:
ruby script/server -e production #默認為development
配置數據庫參數
修改config/database.yml文件
配置環境
修改config/environment.rb文件.
命名規範
所有變量以小寫字母單詞命名,單詞間用下劃線"_"分隔. 如order_status
所有class和module以大寫開頭的單詞命名,單詞間直接連接,如: LineItem
數據庫中所有表格命名形式同變量名,且全為複數形式,如:orders
所有文件名命名形式也同變量名
Rails可推論相關文件名, 所以在框架內可以節省很多require "xxx". Rails會自動加入相關的調用.
Rails關於文件名的思維邏輯實例:
如果一個class名為:LineItem
ralis將推出:
1.此class對應的數據庫表格名為line_items.
2.此class對應的文件名為line_item.rb
….
創建model下的controller
ruby script/generate controller Admin::Book action1 action2 …
使用debug() helper method
<%=debug(@order) %>
轉載請註明: 轉自船長日誌, 本文鏈接地址: http://www.cslog.cn/Content/ruby_on_rails_file_structure/zh-hant/
你好,我請教一個問題。運行環境development、test、production三個,他們之間有什麼區別?不同的運行環境是不是有些東西會被限制?
development的你每次代碼的更改都會馬上生效。 production中不會,更新代碼後你要重啟server,但代碼執行速度更快點。test中每次數據庫中的數據都會被清零的。 詳細查一下相關文檔。