我删减了运行 rails 的输出;所忽略了那些行只是提醒您已经创建的各种文件和目录。在您的系统上试运行它,浏览生成的所有文件。 我已经在代码中显示了一些最重要的文件和目录。
运行 Rails
创建了 AddressBook/ 目录和所需要的子目录后,您需要执行一次惟一的初始配置。首先,通过修改 YAML 配置文件来设置数据库,如下:
清单 4. 配置数据库访问
[~/Sites]$ cd AddressBook [~/Sites/AddressBook]$ head -6 config/database.yml # after editing development: adapter: mysql database: AddressBook host: localhost username: some_user password: password_if_needed
最后,您需要提供数据。Rails 附带了它自己的单一功能的 Web 服务器,即 WEBrick,非常适用于我们的试验。您可能也会遵循 Ruby on Rails Web 站点上的说明来配置 Apache 或者其他服务器,以通过 FCGI(或者普通的 CGI,但是普通的 CGI 将会较慢)向 Rails 应用程序提供服务。
清单 5. 启动 WEBrick 服务器
[~/Sites/AddressBook]$ ruby script/server -d => Rails application started on http://0.0.0.0:3000 [2005-03-21 17:57:38] INFO WEBrick 1.3.1 [2005-03-21 17:57:38] INFO ruby 1.8.2 (2004-12-25) [powerpc-darwin7.8.0]
创建一些内容
要在 WEBrick 端口上看到一个欢迎页面,先前的步骤就足够了。例如,在我的本地系统中,现在可以访问 http://gnosis-powerbook.local:3000/。不过,为了操作定制数据库,需要 生成稍微多一些代码。可以使用脚本 generate 来完成此任务, 这个脚本创建在 AddressBook/ 应用程序目录中:
清单 6. 支架模型和控制器代码的生成
[~/Sites/AddressBook]$ ruby script/generate model contact exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/contact.rb create test/unit/contact_test.rb create test/fixtures/contacts.yml [~/Sites/AddressBook]$ ruby script/generate controller contact exists app/controllers/ exists app/helpers/ create app/views/contact exists test/functional/ create app/controllers/contact_controller.rb create test/functional/contact_controller_test.rb create app/helpers/contact_helper.rb
注意,在相应的表名中,这里应该使用单数的 contact,而不是复数的 contacts。
现在需要编辑一个或多个生成的文件(只需稍加编辑)来让控制器去使用支架:
清单 7. 告知控制器去使用支架
[~/Sites/AddressBook]$ cat app/controllers/contact_controller.rb
class ContactController < ApplicationController
model :contact
scaffold :contact
end
现在可以通过类似于 http://rails.server/contact/ 的 URL (在我的测试用例中是 http://gnosis-powerbook.local:3000/contact/)来查看和修改数据库的内容。 输入一些数据后,它看起来如图 1 和图 2 所示:










