[英]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.