簡體   English   中英

Ruby on Rails執行

[英]ruby on rails execution

我是Ruby on Rails的新手。 我正在努力通過《 使用Rails進行敏捷Web開發》這本書來學習它。 我被困於試圖理解執行背后的概念。

我使用rails_apps> rails demo創建了一個新項目。 這本書要求我創建一個名為Say的控制器(請注意大寫的“ S”),然后發生了以下情況:

  1. 在名為“ views”的文件夾中有一個名字說(請注意小寫的“ s”)的文件夾
  2. 有一個控制器文件:say_controller”。

然后,我通過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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM