20小时学会编程 互动版

页面明细表与第一次启动应用程序

页面明细表

“页面明细表”将用户导向/all/个性化需求,这跟常规页面不同。

不是检索单一的记录,DataMapper检索的是数据库中所有的页面记录。页面的ERB模板包含一种条件循环,这个循环可以为检索到的页面创建一份列表项。每个项目均包含页面标题,标题以链接的形式显示,并且包含那个页面的相关个性化需求。点击该链接可以将用户导向该个体页面记录。

第一次启动应用程序

我已经设置好基本功能,但是我又遇到一个问题:当我通过访问主页来测试这个应用程序的时候,我立即收到一条错误消息。该程序试图在数据库当中寻找主记录,但是它不存在,而我刚刚才开启了这个应用。

这个问题的解决方案就是使用一个叫作Rake的程序创建一个“一次性行政流程”。Rake程序储存在Rakefile,它位于应用的根目录当中。

Rakefile就像常规Ruby应用一样工作,只有一个例外事项:它们存在于你的核心程序之外,而且你必须得手动运行命令。

在某些情况下,Rake非常有用,比如说在正式运行实际程序之前增加默认信息到数据库当中。我将重要的文件application.rb复制到Rakefile,然后输入一个命令,这个命令能够在数据库当中创建一个新的主页。之后我需要做的就是立即运行这个命令:

$ rake setup

Rake创建主页记录之后,我的应用在启动的时候就不再提示发生错误了。当我把这个应用推送到Heroku之后,在我使用该应用之前,我将会远程运行Rake命令来设置数据库。

到这个时候,我已经设置好所有的主要功能。现在该加入一些有趣的东西了。