当前位置:天才代写 > tutorial > JAVA 教程 > 用Eclipse Europa举办Web开拓,第3部门

用Eclipse Europa举办Web开拓,第3部门

2017-11-11 08:00 星期六 所属: JAVA 教程 浏览:307

副标题#e#

用Eclipse Europa举办Web开拓,第3部门 – Ruby Development Toolkit和RadRails

在先容如何通过 Eclipse 实现用 Java™、PHP 和 Ruby 语言举办 Web 开拓的三部门系列 “用 Eclipse Europa 举办 Web 开拓” 的第 1 部门中,您相识了如何利用 Eclipse 的最新版本 —— Europa —— 快速开拓 Java Web 应用措施。在第 2 部门中,您相识了利用 统称为 PHP Development Toolkit (PDT) 的另一组 Eclipse 插件来开拓 PHP 应用措施是何等简朴。

开始之前

关于本系列

成为一名 Web 开拓人员恰逢那时。从来未曾像此刻一样有如此多的技能选择。大量优秀的 开源 Web 处事器、数据库、编程语言和开拓框架供您利用。无论您但愿利用哪 种技能组合,都有一个可以提跨越产力的单一集成开拓情况 (IDE):Eclipse。

在 “用 Eclipse Europa 举办 Web开拓” 系列中,您将了 解到无论选择何种语言,Eclipse 都是合用于 Web 开拓的平台。机动的插件系 统使它可以轻松地建设各类针对利用 Java、PHP 和 Ruby 语言的 Web 开拓而定 制的 Eclipse 版本。您将看到差异的插件奈何为每种语言提供奇特的 Eclipse 成果,还将看到所有 Web 开拓人员都可以操作的一些常用成果。在本系列中, 我们将建设一个样例 Web 应用措施,该应用措施将答允我们输入棒球球员的比 赛数据并计较那些球员的统计信息。

关于本教程

Ruby on Rails 的受接待水平不绝上升。TIOBE Software 质量跟踪数据显示,Ruby 是受接待程 度增长最快的语言,这要归功于 Rails。使 Rails 如此受接待的原因之一是它 能让您更轻松地事情。您但愿如何简化事情?实验利用 Eclipse 即可。这并不 是让您转而利用 Java 技能。通过 Eclipse 实现用 Ruby 举办 Web 开拓就像使 用 Java 技能举办 Web 开拓一样轻松。Eclipse Ruby Development Toolkit 和 RadRails 使这一切成为大概。

在 第 2 部门 中,我们谈到了将 IDE 与 PHP 团结利用的一些利益。在该部门中接头的大大都利益均同样合用于 Ruby, 而且这是 Ruby Development Toolkit (RDT) 的灵感。RDT 将提供所有必须的 IDE 根基成果:语法突出显示、着色和验证,代码完成和名目化及项目组织。它 尚有一个 Ruby 调试器,这是对付大型项目极为重要的东西。尚有一些 Ruby 专 有的成果,如通过与 Test::Unit 集成提供正则表达式 (regex) 编辑器/测试器 和单位测试支持。

本教程是三部门系列的第 3 部门,将先容 RDT 和 RadRails Eclipse 插件,先容如何得到并开始利用这些插件。您将相识如何使 用 RadRails 完成很多常见的 Ruby on Rails 开拓任务,而且将看到 RadRails 如何使测试和调试 Rails 应用措施变得更轻松。

先决条件

本教 程先容的内容都与用 Ruby 举办 Web 开拓相关,而且用 Ruby 举办 Web 开拓与 用 Ruby on Rails 举办 Web 开拓十分雷同,因此需要您拥有一些利用 Ruby on Rails 举办开拓的履历。熟悉 Eclipse 十分有用,但并非须要。本教程将在 第 1 部门 和 第 2 部门 顶用 Java 和 PHP 语言构建的应用措施的基本上构建。 拥有 Java 和 Ruby 编程配景对付发挥本教程的最大功能至关重要。

系 统要求

需要满意以下条件:

Ruby 本教程将利用 Ruby V1.8.6。 您还需要 Rails,而且本教程将利用 Mongrel Web 处事器。利用 Ruby 的软件 包揽理器 RubyGems 安装这两个软件。Ruby Development Toolkit 本教程将向 您展示如何利用 Ruby 开拓 Web 应用措施,因此需要 Ruby Development Toolkit 和 RadRails。两者都是 Eclipse 插件,而且本教程将说明它们的安装 要领。Eclipse IDE for Java EE Developers 还需要 Eclipse IDE for Java EE Developers。Java 运行时情况(Java Runtime Environment,JRE) 要运行 Eclipse,必需配备 JRE。Apache Tomcat 应用措施将利用 Apache Tomcat 作为 容器。MySQL V5.0 应用措施将利用 MySQL V5.0 作为数据库。Java Persistence API 还需要利用 Java Persistence API,出格是 OpenJPA 实现。 Eclipse PHP Development Toolkit (PDT) 本教程将向您展示如何利用 PHP 开 发 Web 应用措施,因此需要利用 PHP Development Toolkit。您可以得到作为 现有 Eclipse 安装的一组插件的 PDT。假如您刚开始利用 Eclipse,则可以下 载包罗 Eclipse 平台和 PDT 插件的完整安装。PHP 需要利用 PHP,因此请下载 最新版本,撰写本文时的最新版本为 V5.2.1。Apache HTTP Server 需要与 PHP 集成的 Web 处事器。本教程是利用 Apache V2.0.59 开拓的。Fancy PHP 调试 器 需要一个 PHP 调试器。我们利用的是 Zend Debugger V5.2.10。操纵系统 需要可以或许运行以上所有软件或插件的操纵系统。建设本系列时利用的是 Mac OS X,可是也可以利用 Windows® 或 Linux® 的近期版本。需要相应地调 整文件位置。

Ruby Development Toolkit

#p#分页标题#e#

在 第 2 部门 中,我们接头了将 IDE 与 PHP 团结利用的一些利益。个中的 大大都信息同样合用于 Ruby,而且这是 Ruby Development Toolkit (RDT) 的 灵感。RDT 将提供所有必须的 IDE 根基成果:语法突出显示、着色和验证,代 码完成和名目化及项目组织。它尚有一个 Ruby 调试器,这是对付大型项目极为 重要的东西。尚有一些 Ruby 专有的成果,如通过与 Test::Unit 集成提供 regex 编辑器/测试器和单位测试支持。听起来像是一些有代价的成果吧?让我 们看看如何安装 RDT。

安装 RDT

Eclipse 更新系统使得安装 RDT 很是简朴。首先选择 Help > Software Updates > Find and Install。

图 1. 启动 Eclipse 软件更新

用Eclipse Europa举行Web开辟,第3部分

RDT 是需要添加到 Eclipse 中的一项新成果,因此选择 Search 来查找要安 装的新成果。

图 2. 搜索要安装的新成果

用Eclipse Europa举行Web开辟,第3部分

此刻需要让 Eclipse 知道查找 RDT 的位置,因此选择 New Remote Site。 该操纵将打开新更新站点。

图 3. 新更新站点

用Eclipse Europa举行Web开辟,第3部分


#p#副标题#e#

RDT 的 URL 为 http://updatesite.rubypeople.org/release。您可以选择 任意名称。单击 OK,然后该当会看到更新站点列表中选中的新站点。

图 4. 更新站点列表

用Eclipse Europa举行Web开辟,第3部分

单击 Finish,而且此操纵该当会打开 RDT 更新站点中可用的插件列表。确 保选择 RDT。

图 5. 要安装的新成果

用Eclipse Europa举行Web开辟,第3部分

单击 Next,然后该当会看到 RDT 的许可证协议。

图 6. 许可证协议

用Eclipse Europa举行Web开辟,第3部分

#p#副标题#e#

接管协议并选择 Next。这将打开所安装成果的具体信息。

图 7. 成果具体信息

用Eclipse Europa举行Web开辟,第3部分

单击 Finish,然后 Eclipse 将下载并安装 RDT。完成后,您可以通过变动 Eclipse 透视图来检讨安装。选择 Window > Open Perspective > Other 。

图 8. 变动透视图

用Eclipse Europa举行Web开辟,第3部分

此刻该当会在透视图列表中看到 Ruby。

图 9. 可用透视图

用Eclipse Europa举行Web开辟,第3部分

单击 OK,然后 Eclipse 将打开 Ruby 透视图。

图 10. Eclipse 中的 Ruby 透视图

用Eclipse Europa举行Web开辟,第3部分

这样,我们已经安装了 RDT。可以建设 Ruby 项目、Ruby 类、Ruby 单位测 试和 Ruby regex。可是我们感乐趣的不是 Ruby 开拓,而是 Web 开拓。对付 Web 开拓,需要利用的成果要多于 RDT 可以或许提供的成果。我们需要利用 RadRails。

#p#副标题#e#

RadRails 简介

Ruby 是一个成果强大的编程语言,您险些可以用它实现一切。虽然也包罗 Web 开拓。可是,假如用 Ruby 举办 Web 开拓,险些必定要利用 Ruby on Rails。您可以团结利用 Ruby on Rails 与 RDT。RDT 不相识关于 Rails 的任 何非凡信息,可是它可觉得您提供开拓 Ruby 代码的根基成果。不外,建设 RDT 的开拓人员已经为 Rails 开拓人员建设了别的一组东西:RadRails。RadRails 构建在 RDT 之上,用于向 Eclipse 中添加专用的 Rails 成果。让我们通过在 RDT 之上安装 RadRails 开始相识 RadRails。

安装 RadRails

要安装 RadRails,需要安装名为 Aptana 的插件。这个插件很是有用。它为 您提供了可与 JavaScript 和 CSS 团结利用的优秀东西。最新版本的 RadRails 是在 Aptana 之上从头构建的,像 RDT 一样,它不外是 Eclipse 的另一个插件 。我们将执行如上所述的沟通步调,可是需要一个差异的更新站点。

图 11. Aptana 更新站点

用Eclipse Europa举行Web开辟,第3部分

同样,重要的是 URL:http://update.aptana.com/install/3.2/。虽然,您 可以将该站点定名为任意名称。单击 OK 该当向您展示可以从 Aptana 得到的功 能列表。

图 12. Aptana 成果

用Eclipse Europa举行Web开辟,第3部分

继承并安装所有 Aptana 成果。在下载并安装了 Aptana 之后,Eclipse 需 要从头启动。当从头装载 Eclipse 时,将打开 Aptana 启动页面,假如该页面 尚未打开,请选择 Help > Aptana Start Page。

图 13. 打开 Aptana 启动页面

用Eclipse Europa举行Web开辟,第3部分

#p#副标题#e#

此操纵该当打开 Aptana 启动页面。

图 14. Aptana 启动页面

用Eclipse Europa举行Web开辟,第3部分

#p#分页标题#e#

此页面将显示在 Aptana 顶部构建的其他各类插件列表。找到 Ruby on Rails。单击 Install,然后 Aptana 将启动 Eclipse 更新系统,个中已经设置 了要安装的 RadRails 插件。

图 15. 安装 RadRails

用Eclipse Europa举行Web开辟,第3部分

继承并安装 RadRails 插件。竣事时,Eclipse 将再一次从头启动。在 Eclipse 从头启动时,可以选择 Windows > Open Perspective > Other 切换到 RadRails 透视图。

图 16. 选择 RadRails 透视图

用Eclipse Europa举行Web开辟,第3部分

此操纵该当会打开 RadRails 透视图,而且该透视图该当雷同图 17。

图 17. RadRails 透视图

用Eclipse Europa举行Web开辟,第3部分

此刻我们已经安装好 RadRails 了!我们将只研究 RadRails 和 RDT 的成果 。首先将利用它建设一个新的 Rails Web 应用措施,该应用措施将在本系列前 两部教程中开拓的应用措施基本之上构建。在开拓应用措施的进程中,我们将了 解很多 RadRails 成果。

#p#副标题#e#

建设 Rails 项目

该项目是 Eclipse 中的焦点观念和事情单位之一,而且 RadRails 将操作此 项目。因此首先需要做的就是建设一个 RadRails 项目。选择 File > New > Rails Project。

图 18. 新建 Rails 项目

用Eclipse Europa举行Web开辟,第3部分

此操纵将打开 Rails 项目信息。

图 19. Rails 项目信息

用Eclipse Europa举行Web开辟,第3部分

#p#副标题#e#

在这里有几个选项该当留意。首先,系统将默认选中 Generate Rails application skeleton。我们很快就可以看到这样做的结果。接下来,请留意 Create a WEBrick server 和 Create a Mongrel server 选项。这将答允您使 用个中任一个处事器直接从 Eclipse 启动应用措施。此刻 Mongrel 选项将只在 安装了 Mongrel 的环境下运行。假如尚未安装,则可以利用 Gems (gem install mongrel) 轻松得到它。单击 Finish,然后在 Eclipse 节制台中,您 该当会看到如下所示的输出。

清单 1. 新建 Rails 项目标输出

exists
create app/controllers
create  app/helpers
create app/models
create  app/views/layouts
create config/environments
create  components
create db
create doc
create lib
create  lib/tasks
create log
create public/images
create  public/javascripts
create public/stylesheets
create  script/performance
create script/process
create  test/fixtures
create test/functional
create  test/integration
create test/mocks/development
create  test/mocks/test
create test/unit
create vendor
create  vendor/plug-ins
create tmp/sessions
create  tmp/sockets
create tmp/cache
create tmp/pids
create  Rakefile
create README
create  app/controllers/application.rb
create  app/helpers/application_helper.rb
create  test/test_helper.rb
create config/database.yml
create  config/routes.rb
create public/.htaccess
create  config/boot.rb
create config/environment.rb
create  config/environments/production.rb
create  config/environments/development.rb
create  config/environments/test.rb
create script/about
create  script/breakpointer
create script/console
create  script/destroy
create script/generate
create  script/performance/benchmarker
create  script/performance/profiler
create script/process/reaper
create  script/process/spawner
create script/process/inspector
create  script/runner
create script/server
create script/plug- in
create public/dispatch.rb
create  public/dispatch.cgi
create public/dispatch.fcgi
create  public/404.html
create public/500.html
create  public/index.html
create public/favicon.ico
create  public/robots.txt
create public/images/rails.png
create  public/javascripts/prototype.js
create  public/javascripts/effects.js
create  public/javascripts/dragdrop.js
create  public/javascripts/controls.js
create  public/javascripts/application.js
create  doc/README_FOR_APP
create log/server.log
create  log/production.log
create log/development.log
create  log/test.log

#p#分页标题#e#

对付所有 Rails 开拓人员来说,这段内容看起来该当 极为熟悉。它是运行 rails <app name> 即本例中的 rails baseball 得 到的输出。这是 RadRails 的常见主题。它只是操作了 Rails 内置的大量机制 ,可是简化了这些机制的利用。假如查察 Ruby Explorer(RadRails 所操作的 RDT 部门),则该当会看到 Rails 为您生成的所有代码。

图 20. 显示新 Rails 项目标 Ruby Explorer

用Eclipse Europa举行Web开辟,第3部分

您应该十分熟悉显示的项目布局,而且这很重要。RadRails 不是一种建设 Rails 应用措施的新要领。它只是提供了会见 Rails 常识趣制的捷径。假如不 利用 RadRails,应用措施开拓进程的下一步将是为数据库设置应用措施。 RadRails 也不破例。我们接下来就将举办设置。

#p#副标题#e#

设置数据库

设置 Rails 应用措施老是十分简朴,而且 RadRails 也不破例。只需打开 config/database.yml 文件并编辑它,如下所示:

清单 2. 编辑 config/database.yml

# MySQL (default  setup). Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#  gem install mysql
# On MacOS X:
#  gem install mysql -- --include=/usr/local/lib
# On Windows:
#  gem install mysql
#    Choose the win32 build.
#    Install MySQL and put its /bin directory on your  path.
#
# And be sure to use new-style password hashing:
#  http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql
  database: baseball
  username: root
  password: password
  host: localhost

# Warning: The database defined as 'test' will be erased  and
# re-generated from your development database when you run  'rake'.
# Do not set this db to the same as development or  production.
test:
  adapter: mysql
  database: baseball_test
  username: root
  password:
  host: localhost

production:
  adapter: mysql
  database: baseball_production
  username: root
  password:
  host: localhost

留意,我们已经为本系列前几部教程中建设和利用的每一个数据库编辑了该 文件。可以利用属于 RadRails 的透视图 —— Data 透视图 —— 当即测试设 置。

利用 Data 透视图

要打开 Data 透视图,请选择 Window > Open Perspective > Data。

图 21. 打开 Data 透视图

用Eclipse Europa举行Web开辟,第3部分

此操纵将打开 Data 透视图。

图 22. Data 透视图

用Eclipse Europa举行Web开辟,第3部分

#p#副标题#e#

利用 Data 透视图可以查察数据库中的表并对这些表运行查询。这雷同于您 大概在前几部教程中看到过的 Database Development 透视图。一个重要不同是 此透视图将把 database.yml 文件用于数据库设置。换言之,它将利用应用措施 所利用的同一个设置。如前述,您可以在透视图中运行查询,如下所示:

图 23. 在 Data 透视图中运行查询

用Eclipse Europa举行Web开辟,第3部分

您该当会看到前几部教程中建设的沟通数据。Rails 凡是与新数据库团结使 用,可是它也提供了东西可处理惩罚遗留数据库。为此,需要利用 Ruby 构建东西: Rake。

RadRails 和 Rake

如前述,RadRails 并不试图替代 Rails 中的浩瀚内置东西。它只是提供了 会见这些东西的更简朴接口。亲自利用 Rake 便可体会这一原则。Rake 对付任 何巨大的 Ruby 应用措施来说都是至关重要的,可是它对付 Rails 尤为重要, 因为 Rails 将利用 Rake 执行很多任务,包罗对遗留模式执行反向工程。

利用现有模式

要对现有模式执行反向工程,需要利用 Rake。返回到 RadRails 透视图并打 开 Rake 窗口。在组合框中选择 db:schema:dump。

图 24. 利用 Rake 对数据库执行反向工程

用Eclipse Europa举行Web开辟,第3部分

单击 Go,然后 Rails 将建设一个用于界说数据库的 Ruby 剧本。该剧本可 以在 db/schema.rb 中找到,如下所示:

清单 3. schema.rb 中的模式转储

#p#分页标题#e#

# This file is  autogenerated. Instead of editing this file, please use  the
# migrations feature of ActiveRecord to incrementally modify  your database, and
# then regenerate this schema definition.

ActiveRecord::Schema.define() do 

  create_table "Games", :id => false, :force => true  do |t|
   t.column "Id",    :integer,        :null =>  false
   t.column "Player_Id", :integer,        :null =>  false
   t.column "AB",    :integer, :default => 0, :null  => false
   t.column "H",     :integer, :default => 0, :null  => false
   t.column "2B",    :integer, :default => 0, :null  => false
   t.column "3B",    :integer, :default => 0, :null  => false
   t.column "HR",    :integer, :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 也为此提供了辅佐。

#p#副标题#e#

RadRails 中的 Rails 生成器

RadRails 会见生成器的要领雷同于会见 Rake 任务的要领。可以利用一个生 成器视图。

图 25. 生成器视图

用Eclipse Europa举行Web开辟,第3部分

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

图 26. Rails 生成器列表

用Eclipse Europa举行Web开辟,第3部分

个中应该列出在开拓 Rails 应用措施时常常利用的所有常用生成器。大大都 呼吁至少具有一个参数,而且可以在文本框中键入这些呼吁。尚有几个可以直接 选择的常见选项。凡是首先生成的是 ActiveRecord 模子。让我们看看如何用 RadRails 生成这些模子。

生成模子

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

图 27. 生成 player 模子

用Eclipse Europa举行Web开辟,第3部分

单击 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部分

#p#副标题#e#

此刻可以对 game 模子执行沟通的步调。然后将编辑模子以指明球员和角逐 之间的一对多干系。player 类如下所示:

清单 5. Player 类

class Player <  ActiveRecord::Base
  has_many :games
end

我们将自界说生成的 game 类以回响干系。

清单 6. Game 类

class Game < ActiveRecord::Base
  belongs_to :player
end

利用 Rails 可以生成很是有用的模子东西。利用 Rails 生成的另一个有用 东西是 scaffolding。让我们看看如何团结利用 scaffold 生乐成能和 RadRails。

Scaffolding

生成 Rails scaffolding 与模子生成要领雷同。从组合框中选择 scaffold 并在文本框中键入 player gm。

图 29. 生成球员 scaffold

用Eclipse Europa举行Web开辟,第3部分

此操纵该当会生成如下所示的输出。

清单 7. 球员 scaffold 生成的输出

#p#分页标题#e#

exists  app/controllers/
    exists app/helpers/
    exists app/views/gm
    create app/views/layouts/
    create test/functional/
  dependency model
    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 app/views/gm/_form.rhtml
    create app/views/gm/list.rhtml
    create app/views/gm/show.rhtml
    create app/views/gm/new.rhtml
    create app/views/gm/edit.rhtml
    create app/controllers/gm_controller.rb
    create test/functional/gm_controller_test.rb
    create app/helpers/gm_helper.rb
    create app/views/layouts/gm.rhtml
    create public/stylesheets/scaffold.css

这是发出 ruby script/generate scaffold player gm 呼吁的正常输出。同 样,RadRails 只是为 Rails 的样例机制提供了一个更大度的接口。我们可以继 续并生成角逐的 scaffold。

图 30. 生成角逐 scaffolding

用Eclipse Europa举行Web开辟,第3部分

我们可以通过查察 Ruby Explorer 来检讨生成的所有代码。

图 31. 查察生成的类

用Eclipse Europa举行Web开辟,第3部分

我们已经利用了 RadRails 建设 scaffolding 代码,然后该当测试这段代码 以确保代码按预期运行。RadRails 也可以让您轻松地完成此操纵。

#p#副标题#e#

测试应用措施

继承执行操纵之前,让我们测试一下已有代码。RadRails 是一个 IDE,而 IDE 的一项尺度成果是可以或许从中启动应用措施。要启动应用措施,请转随处事器 视图。

图 32. 处事器视图

用Eclipse Europa举行Web开辟,第3部分

只需在选中 baseballServer 的环境下单击 start,RadRails 将启动处事器 。您该当会在节制台中看到雷同清单 8 所示的输出。

清单 8. 处事器输出

=> Booting Mongrel (use  'script/server webrick' to force WEBrick)
=> Rails application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT  => stop (no restart).
** Rails signals registered. HUP => reload (without  restart). It might not work well.
** Mongrel available at 0.0.0.0:3000
** Use Ctrl-C to stop.

留意,我们已经启动了 Mongrel。该应用措施中的所有部门都该当能与 WEBrick(就本文而言可能是 lighttpd)团结利用。该当可以或许通过在欣赏器中访 问 http://localhost:3000/gm 打开应用措施。

图 33. 球员列表

用Eclipse Europa举行Web开辟,第3部分

假如单击 Show,将获得一个错误。

图 34. 显示的错误屏幕

用Eclipse Europa举行Web开辟,第3部分

查察该错误动静,它显示我们实验装载带有 ID 的球员。这是一条不错的消 息,可是那边堕落仍不清楚。假如有一种要领可以得到错误的更多信息不是很好 么?我们可以添加一条日志记录语句,可是利用 RadRails,我们有一个更强大 的东西:调试。

#p#副标题#e#

调试应用措施

#p#分页标题#e#

要调试应用措施,只需添加一个断点并在调试模式下启动应用措施。应用程 序将在执行到 show 呼吁中的 gm 节制器时失败。那是我们将添加断点的位置。

图 35. 配置断点

用Eclipse Europa举行Web开辟,第3部分

利用处事器视图中的调试按钮来在调试模式下启动应用措施。

图 36. 在调试模式下启动处事器

用Eclipse Europa举行Web开辟,第3部分

当返回并单击 Show 链接时,将启动调试透视图。

图 37. Ruby 调试透视图

用Eclipse Europa举行Web开辟,第3部分

假如团结利用过 Eclipse 与 Java 技能,可能阅读过 第 1 部门 和 第 2 部门,这对您来说该当十分熟悉。这是用 Java 开拓或 PHP 开拓(利用 PDT) 所利用的同一个调试透视图。在本例中,我们将扩展 Variables 窗口中的 self 工具,如图 38 所示:

图 38. 在调试器中查抄变量

用Eclipse Europa举行Web开辟,第3部分

#p#副标题#e#

凡是,params 变量将是一个散列,可是在本例中它为空。凡是,该散列将包 含将要显示的球员的 ID。假如查察 views/gm/list.rhtml,可以看到 Show 链 接是奈何建设的。

清单 9. list.rhtml 中的代码片断

<tr>
  <% for column in Player.content_columns %>
   <td><%=h player.send(column.name) %></td>
  <% end %>
   <td><%= link_to 'Show', :action => 'show',
     :id => player %></td>
   <td><%= link_to 'Edit', :action => 'edit',
     :id => player %></td>
   <td><%= link_to 'Destroy', { :action =>  'destroy',
     :id => player }, :confirm => 'Are you  sure?',
     :method => :post %></td>
  </tr>

凡是,Show 链接的末端有一个 ID。此 ID 来自 :id => player。问题是 Rails 如何计较这个表达式的值。它将把值计较为 player.id。可是,我们没有 id 列;而是 Id 列。因此需要显式利用此列,而不利用 Rails 的默认计较值。

清单 10. 批改 list.rhtml

<tr>
  <% for column in Player.content_columns %>
   <td><%=h player.send(column.name) %></td>
  <% end %>
   <td><%= link_to 'Show', :action => 'show',
    :id => player.Id %></td>
   <td><%= link_to 'Edit', :action => 'edit',
    :id => player.Id %></td>
   <td><%= link_to 'Destroy', { :action =>  'destroy',
    :id => player.Id }, :confirm => 'Are you  sure?',
    :method => :post %></td>
  </tr>

我们可以从头装载 http://localhost:3000/gm,单击 Show(可能 Ediedit ,甚至 Destroy)链接,并且该当不会呈现错误。

图 39. 显示球员

用Eclipse Europa举行Web开辟,第3部分

需要对 Show 页面和 Edit 页面做出雷同变动,将 :id => player 变动为 :id => player.Id。这将使所有 scaffolding 都可以运行。 本教程的 源代码 包罗这些变动。

竣事语

本教程中探讨了利用 RadRails 为 Ruby on Rails 开拓人员带来的长处。我 们相识到它只是在 Eclipse 之上安装的另一组插件。它为我们提供了一个优秀 的 Ruby 编辑器以及一组可与 Rails 团结利用的专用东西。我们看到了如何使 用 RadRails 轻松地运行 Rake 任务、生成代码、启动应用措施和调试应用措施 。此刻可以继承利用 RadRails 更快速地开拓 Ruby on Rails 应用措施。

虽然,假如以为某个非凡应用措施更适于用 Java 或 PHP 语言开拓,我们仍 然可以利用 Eclipse。很多 Web 开拓内容与编程语言无关,譬喻与数据库团结 利用以及陈设和调试应用措施。您也可以向个中添加 “利用 Eclipse” 这一项 。无论利用哪种语言,Eclipse 平台都可以提高 Web 开拓人员的出产力。

本文配套源码

 

    关键字:

天才代写-代写联系方式