[英]ruby on rails execution
我是Ruby on Rails的新手。 我正在努力通過《 使用Rails進行敏捷Web開發》這本書來學習它。 我被困於試圖理解執行背后的概念。
我使用rails_apps> rails demo
創建了一個新項目。 這本書要求我創建一個名為Say的控制器(請注意大寫的“ S”),然后發生了以下情況:
然后,我通過http://localhost/say/hello
發出了一個請求。 我對項目名稱演示不在請求中這一事實感到非常困惑。 如果我在另一個項目中創建另一個控制器並發出相同的請求,會發生什么情況?
為什么說請求中的小寫字母s代替大寫字母S? 幕后發生了什么事?
當您運行命令rails server
它將啟動僅適用於特定應用程序的進程。 它查看來自瀏覽器的對該應用程序的請求並提供適當的內容。
如果創建了另一個應用程序,則將無法與原始應用程序同時在同一端口上運行它。 您將需要運行rails server -p NEW_PORT
,其中NEW_PORT
與已經運行的Rails應用程序不同。 然后,您將可以從http:// localhost:NEW_PORT訪問該應用程序
多個服務器使您可以在不同的應用程序中使用相同的控制器,因為它們現在是完全獨立的實例。
一一解答您的問題:
應用程序的“名稱”(您提供給rails腳本的參數)除了主目錄的名稱外,其他任何地方都不會使用。 我發現這提供了不被鎖定到所選名稱的自由。
另一個項目中的另一個控制器將完全獨立。 這兩個項目將在不同的端口上運行(使用內置Web服務器時)或在不同的路徑上運行(使用其他Web服務器(如Apache)時)。
在Rails中,大寫(和“駝峰大小寫”)與未大寫的名稱很重要,並且僅由慣例規定。 這里有一些例子。 http://itsignals.cascadia.com.au/?p=7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.