安装了Rails框架之后,你同时也得到了一个新的命令行工具:rails。这个工具可以用于构造每个新的Rails应用程序。
为什么我们需要这么一个工具——我是说,为什么不抄起最顺手的编辑器,从头开始编写应用程序的每行代码呢?呃……我们确实可以这样做,但Rails可以在 幕后变很多戏法,让我们只需要做最少量的配置即可运行一个应用程序。为了让这些戏法能够生效,Rails必须能够找到应用程序中的各种组件。正如我们稍后 将会看到的,这就意味着我们必须创建某种固定的目录结构,并且将我们的代码放在合适的地方。 rails这个命令可以帮我们创建这一目录结构,并且生成一些标准的Rails代码。
现在,我们来创建第一个Rails应用程序:打开shell窗口,进入文件系统的某个地方——你希望将应用程序目录结构保存在那里的某个地方。在我们的例 子中,我们将把项目创建在一个名为work的目录之下。因此,我们在这个目录中用rails命令创建一个名为demo的应用程序。在这里要加些小心:如果 已经存在一个名叫demo的目录,rails会询问你是否要覆盖已有的文件。
dave> cd workwork> rails demo
create
create app/apis
create app/controllers
create app/helpers
: : :
create log/development.log
create log/test.log
work>
上述命令创建了一个名为demo的目录。进入这个目录,列出它的全部内容(在Unix中使用ls命令,在Windows中使用dir命令),你应该会看到这样的一堆文件和子目录:
work> cd demodemo> ls -p
CHANGELOG app/ db/ log/ test/
README components/ doc/ public/ vendor/
Rakefile config/ lib/ script/
突然面对那么多目录(还有它们包含的文件)也许会让你感到有点害怕,不过我们完全不用理会它们的存在。现在,我们只需要用到它们中的一个,也就是public目录。
正如它的名字所暗示的,public目录包含了我们希望暴露给最终用户看到的那些文件。这里的关键文件是分发器 (dispatcher):dispatch.cgi、dispatch.fcgi、以及dispatch.rb。分发器负责接收用户从浏览器发出的请 求,并将这些请求引导至应用程序中的程序代码。这几个文件很重要,不过我们目前还不需要接触它们。
你还会看到,在demo目录下有一个script子目录,其中存放的是一些工具脚本,我们在开发应用程序的过程中会用到它们。现在,我们就要使用其中名叫 server的脚本,它会启动一个独立运行的WEBrick[1]服务器,我们新建的Rails应用程序就将在其中运行。那么,在继续前进之前,我们先把 刚才编写(或者说,生成)的应用程序启动起来吧。
demo> ruby script/server=> Rails application started on http://0.0.0.0:3000
[2005-02-26 09:16:43] INFO WEBrick 1.3.1
[2005-02-26 09:16:43] INFO ruby 1.8.2 (2004-08-24) [powerpc-darwin7.5.0]
[2005-02-26 09:16:43] INFO WEBrick::HTTPServer-start: pid=2836 port=3000
现在,我们已经让新应用跑了起来,但其中还没有我们自己编写的代码。下面,我们就要改变这种情况。
[1] WEBrick是一个纯Ruby编写的web服务器,随Ruby 1.8.1或更高版本发行。
[2] URL地址中的“0.0.0.0”表示WEBrick会接收来自所有接口的连接。在Dave的OS X系统上,这就表示不管来自本地接口(127.0.0.1和::1)还是来自LAN连接的请求都会被WEBrick接收到。
现在,我们来编写一个极其简单的web应用,以验证Rails已经成功地在我们的机器上落户了。在此过程中,我们还会简单介绍Rails应用的工作方式。
过去几天我一直在尝试在我的Windows PC上安装Rails。我从www.railsinstaller那里得到了这个包裹。org,它安装得很好。创建新应用程序时,我可以看到所有应用程序文件都已创建,然后出现以下错误: DL已弃用,请使用FIDLE从中获取gem元数据https://rubygems.org/..........正在解析依赖项。。。Gem::RemoteFetcher::Fetch
Ember CLI,Ember的命令行界面提供了一个标准的项目结构,一组开发工具和一个插件系统。这允许Ember开发人员专注于构建应用程序,而不是构建使它们运行的支持结构。可通过ember --help显示Ember CLI提供的命令,或通过ember help <command-name>查看特定命令的信息。 创建应用程序 $ ember new super-rentals 上述ember
我需要在React中使用CORS节点模块,React是使用实用程序创建的。 由于它是一个实用程序,我不能调整内部并将CORS注入预配置的EXPRESS模块。 我们如何才能做到这一点?
Rails 是一个非常受欢迎的 Web 应用程序框架(从某种意义上说,是由于它被广泛应用而不是人们真正喜欢它)。 因此,在某些时候,你可能会被要求管理它。 本节要介绍的处方包含了安装一台运行 Rails 应用程序服务器所要做的绝大部分工作。 本处方假定你会使用 Nginx 和 Passenger 作为 Web 服务器, 然而你也可以轻松地修改本处方,使用 Apache 替换它。 操作步骤 创建 r
我对这个还不熟悉,我误解了Gunicorn烧瓶的工作原理。 当我用4个工人运行Gunicorn时,它会创建我的Flask应用程序的4个实例,或者它会创建4个进程来处理来自Nginx的web请求和一个Flask应用程序实例? 如果我在我的应用程序中简单地实现内存缓存(例如字典),Gunicorn会创建多个应用程序实例,从而创建多个缓存实例吗?
我正在研究NFC应用程序。当我打开应用程序并从NFC标签读取信息时,活动打开哪个注册了意图过滤器,这将打开一个已经打开的应用程序的新实例。如何关闭应用程序的上一个实例或打开应用程序的上一个实例。 请帮帮我,抱歉英语不好。。提前谢谢。