我的Rails的疊層的簡單化的理解是,它執行以下操作(一般)使用導軌控制檯
- 輸入是一個HTTP消息(GET,POST,PUT,DELETE,HEAD ),一個URL,一些(可選的)cookie,一個(可選的)會話令牌以及可能以JSON或XML格式打包的一些數據。
- 這個HTTP消息由Rack處理,它可以通過一組「中間件」功能來運行它,這些功能可以從消息中添加或刪除數據,並可以使用這些數據來添加,修改或刪除程序數據存儲中的數據。
- Rack輸出端的HTTP消息被髮送到Rails路由器,Rails路由器將其映射到一個控制器,一個動作和一個params散列,其中包含會話信息,cookie和其他參數。數據被分派到適當的控制器。
- 控制器方法分析參數,並將其與數據庫中的數據(通過模型)進行算法結合,可選地更改數據,然後將一組以@開頭的變量分配給視圖模板。
- 視圖模板獲取數據並將其與視圖模板合併以形成具有適當格式(例如,HTML,JS,JSON,XML等)的視圖,或者它告訴調用者(通過HTTP返回代碼)重定向到另一個URL。
我願做什麼用我的Rails Web應用程序,使用Rails的控制檯
- 撰寫有效的HTTP消息的URL,會話ID,cookie和編碼數據(JSON或XML) 。
- 將此數據注入Rack接口,並檢查發送給Rails路由器之前出現的內容。
- 然後,我想將這些數據發送到Rails路由器,並查看在它進入控制器之前發生了什麼。
- 然後,我想將這些數據發送到控制器,並查看它發送到視圖模板之前發生了什麼。
- 然後我想將這些數據運行並通過視圖模板運行,並在STDOUT上顯示,或讓它自動打開Web瀏覽器並查看它的呈現。
是否有任何現有的Rails工具可以做到這一點?如果沒有,任何人都可以將我指向這些接口出現的Rails代碼?
感謝您的洞察。我會研究它。 –