快速业务通道

用Eclipse Europa进行Web开发,第3部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
eger, :default => 0, :null  => false    t.column "BB",    :integer, :default => 0, :null  => false    t.column "R",     :integer, :default => 0, :null  => false    t.column "RBI",    :integer, :default => 0, :null  => false   end   add_index "Games", ["Player_Id"], :name =>  "Player_Id"   create_table "Players", :id => false, :force => true  do |t|    t.column "Id",     :integer,                 :null => false    t.column "First_Name", :string, :limit => 50, :default  => "",                                  :null => false    t.column "Last_Name", :string, :limit => 50, :default  => "",                                  :null => false   end end

RadRails 在这里没有执行任何特殊操作。它只是利用了 Rails 的现有功能 。这些功能已经为数据库创建生成了 Rails 移植脚本。RadRails 只是提供了一 种更简单的方法来执行特定于 Rails 的 Rake 任务。使用 RadRails,您无需记 住每条 Rake 命令的所有详细信息。RadRails 为您提供了一张选择列表,从而 使您节省大量时间。在 Rails 中,Rake 任务十分常见,但是更常见的(尤其是 在启动新应用程序时)可能是 Rails 生成器。那些生成器不但常见,而且经常 不断变化。幸运的是,RadRails 也为此提供了帮助。

用Eclipse Europa进行Web开发,第3部分(10)

时间:2010-11-29 IBM Michael Galpin

RadRails 中的 Rails 生成器

RadRails 访问生成器的方法类似于访问 Rake 任务的方法。可以使用一个生 成器视图。

图 25. 生成器视图

同样提供的组合框列出了 Rails 生成器的常见类型。

图 26. Rails 生成器列表

其中应该列出在开发 Rails 应用程序时经常使用的所有常用生成器。大多数 命令至少具有一个参数,并且可以在文本框中键入这些命令。还有几个可以直接 选择的常见选项。通常首先生成的是 ActiveRecord 模型。让我们看看如何用 RadRails 生成这些模型。

生成模型

首先为棒球球员生成模型。使用生成器视图并从参数 “player” 中的组合 框中选择 model。

图 27. 生成 player 模型

单击 Go,然后生成器将执行。您应当会在控制台中看到输出。

清单 4. 模型生成输出

exists app/models/     exists test/unit/     exists test/fixtures/     create app/models/player.rb     create test/unit/player_test.rb     create test/fixtures/players.yml     create db/migrate     create db/migrate/001_create_players.rb

这段输出对您来说也应该十分熟悉。如果运行 “ruby script/generate model player”,您将看到同样的结果。这是因为所有 RadRails 操作将在后台 执行。系统应当会刷新 Ruby Explorer 视图来显示生成的所有类。

图 28. 生成的类和文件

用Eclipse Europa进行Web开发,第3部分(11)

时间:2010-11-29 IBM Michael Galpin

现在可以对 game 模型执行相同的步骤。然后将编辑模型以指明球员和比赛 之间的一对多关系。player 类如下所示:

清单 5. Player 类

class Player <  ActiveRecord::Base   has_many :games end

我们将自定义生成的 game 类以

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号