|
中文化团队

愚蠢的人类呀!
|
1#
大 中
小 发表于 2007-11-29 10:59 只看该作者
   
[Ruby文档中文化团队]用NetBeans Ruby 实践JMaki1.0
用NetBeans php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby 实践JMaki1.0
支持Java ,PHP,和Ruby的Jmaki1.0框架昨天发布了。上个星期,Arun Gupta发布一个屏幕演示,展示在NetBeans6.0BetaIDE构建Ruby on Rails应用程序中怎么使用Jmaki包装器按钮和Dojo和Yahoo框架的表格部件。
在Arun的答应下,我提供重新创建同一个Jmaki On Rails项目的步骤。为了节省步骤,我改了一点顺序,如果你还没有支持Ruby的NetBeans,访问 Installing and Configuring Ruby Support教程来得到指导。
1.开始之前,为这个Rails应用程序创建数据库。你需要一个Jruby支持的数据库服务器,例如MySQL,JavaDB,PostgresSQL,Oracle或者HSQLDB。增加一个叫rorjmakitables_development数据库实例。例如,对于MySQL,启动服务器和在命令行输入下面的命令。
mysqladmin -u root -p create rorjmakitables_development 如果你不需要密码,那就省略–P。
2.如果你还没有JMaki NetBeans 插件,就下载它(这是org-netbeans-modules-sun-jmaki.nbm。安装器告诉我是1.6.11版本,然而NBM的info.xml显示它的发布日期2007.9.25)。
3.为了把它安装到IDE中,完成下面的步骤:
- IDE中,在主菜单中选择Tools >Plugins
- 单击DownLoaded标签然后点击Add Plugins。
- 选择下载org-netbeans-modules-sun-jmaki.nbm模块,然后单击Open。
- 单击Install,然后点击Next。
- 选择单选按钮来接受协议许可然后单击Install。
- 选择Restart IDE Now和单击Finish。
4.为了创建一个新的Ruby on Rails项目,完成下面的步骤:
- 在Projects窗口中的空白处右击,然后在弹出的目录中选择New Project。
- 在Categories栏中选择Ruby,Projects栏中选择Ruby on Rails Application然后点击Next。
- 除了捆绑安装的Jruby外,如果在路径中你安装了其它的Ruby,你会被询问来选择一个Ruby解释器。这个对话框只在你第一次IDE需要访问解释器时弹出。对于这个教程,选择JRuby然后单击Close。注意这个选择将影响到全部的Ruby项目。只要你愿意,你随时可以更改这个设定。请看Installing and Configuring Ruby Support来学习如何更改。
如果你配置IDE不使用JRuby,请使用Options向导为本教程更改回JRuby,如这里所描述Installing and Configuring Ruby Support。
- 输入RORjMakiTables,然后接受默认的路径,你也可以选择,输入一个不同的路径。
- 选择一个Database在下拉框的列表中,你的选择指定了如何构造database.yml文件。这个教程使用MySQL。
在写本教程的时候,列表里没有JavaDB,但以后可能会增加上去。所以,如果你正在使用JavaDB,你就看不到它在列表里面,也不用烦忧着选择一个数据库。相反你可以编辑database.yml文件。请看Using Database Servers With JRuby得到指示。
- 在JRuby中,如果你没使用MySQL,你必须选择Access Database Using JDBC checkbox。这就导致项目要修改environment.rb配置文件来使用ActiveRecord-JDBC gem。所以,除非你正在使用MySQL,不然就选择这个框。
- 单击Next。
- 因为你使用着捆绑的包含Rails的JRuby,向导显示Rails已经安装了。向导也给了更新已经安装版本的选择,但我们还是跳过它吧。
单击Finish。
Output窗口中生成的Rails项目标签显示了IDE创建的全部目录和文件。
5. 在IDE中用编辑器打开database.yml文件。在development配置中设置username,如下面所示。如果你的数据库需要密码,也把password设置一下。
development:
adapter: mysql
database: RORjMakiTables_development
username: root
password: root_password
host: localhost 6.右键点击Projects窗口中的RORjMakiTables项目结点选择Generate来增加一个控制器,在下拉框列表中选择controller,设置Name为Say和View为table,然后单击OK。
7.Projects窗口中,展开Configuration然后双击在编辑器中打开routes.rb。
8.把下面的代码增加到map.connect所有条目的最上面。
map.connect '', :controller => 'say', :action=>'table' 9.在Projects窗口中,展开Public,右键点击index.html选择Delete(或者重命名如果你愿意重命名文件。)
10.Projects窗口中,展开Views,展开say,双击在编辑器中打开table.rhtml。
11.在IDE右边的是Palette,如下图所示。展开jMaki Yahoo。
12.在jMaki Yahoo栏中拖放一个Button部件到文件中。
13.拖放第二个Button部件
14.用下面的代码替换部件的代码片段。
<%= jmaki_widget 'yahoo.button',
:value => { :label => 'Select 1',
:action => { :topic => '/jmaki/table/select',
:message => { :targetId => '1' }
}
} -%>
<%= jmaki_widget 'yahoo.button',
:value => { :label => 'Select 2',
:action => { :topic => '/jmaki/table/select',
:message => { :targetId => '2' }
}
} -%> 这些按钮使用了jMaki publish/subscribe机制来发布你编写两个表格来监听的/jmaki/table/select标题,表格部件会选择第一行或者第二行中的一个,这依赖那一个按钮被点击。更多关于如何使用publish/subscribe的细节,请看Widgets Talking To Widgets博客条目。
15.在jMaki Yahoo栏中拖放一个Data Table部件到文件。
16.展开jMaki Dojo并且在里面拖放一个Table部件到文件。
这些部件都使用jMaki Table Data Model
17.增加:subscribe=> "/jmaki/table"到每个格表格部件,如下面粗体所示,目的是使这些表格都监听全部/jmaki/table标题。
(Important)同样,改变行数据来包含数字ids,如下面粗体所示,所以他们在按键代码中匹配目标ids。在第一行中,必须加上:id=>’1’,而第二行里已经有 :id参数,简单的将bar改成2。
<%= jmaki_widget 'yahoo.dataTable', :subscribe=> "/jmaki/table",
:value =>
{:columns => [
{ :label => 'Title', :id => 'title'},
{ :label => 'Author', :id => 'author'},
{ :label => 'ISBN', :id => 'isbn'},
{ :label => 'Description', :id => 'description'}
],
:rows => [
{ :id= > '1', :title => 'Book Title 1',
:author => 'Author 1', :isbn => '4412',
:description => 'A Some long description'},
{ :id => '2', :title => 'Book Title 2',
:author => 'Author 2', :isbn => '4412',
:description => 'A Some long description'}
]
}
-%>
<%= jmaki_widget 'dojo.table', :subscribe=> "/jmaki/table",
:value =>
{:columns => [
{ :label => 'Title', :id => 'title'},
{ :label => 'Author', :id => 'author'},
{ :label => 'ISBN', :id => 'isbn'},
{ :label => 'Description', :id => 'description'}
],
:rows => [
{ :id=> '1', :title => 'Book Title 1',
:author => 'Author 1', :isbn => '4412',
:description => 'A Some long description'},
{ :id=> '2', :title => 'Book Title 2',
:author => 'Author 2', :isbn => '4412',
:description => 'A Some long description'}
]
}
-%> 18.在主菜单中单击Run Main Project按钮(绿色箭头)。这启动了服务器和在浏览器打开表格显示。
19.点击第一个按钮来选择第一行,点击第二个按钮来选择第二行。
20.为了使表格能显示数据库的数据,首先我们必须创建一个模型。在Projects窗口中,右键点击project结点,从弹出的目录中选择Generate。
21.由Generate的下拉框中选择model,在Arugmemts文本框里输入grid,点击OK。
22.为了定义模型的数据结构,展开Projects窗口里的Data Migrations,然后展开migrate,双击001_create_grids.rb在编辑器中打开它。
23.用下面的代码替换up方法的原有代码。
class CreateGrids < ActiveRecord::Migration
def self.up
create_table :grids do |t|
t.column :title, :string
t.column :author, :string
t.column :isbn, :string
t.column :description, :string
end
Grid.create(:title=> 'Marathon',
:author=> 'Jeff Galloway',
:isbn=> '0936070250',
:description => 'A running book for everybody');
Grid.create(:title=> 'The Runners Bible',
:author=> 'Marc Bloom',
:isbn=> '0385188749',
:description => 'How to train, race, and get in shape');
end
def self.down
drop_table :grids
end
end
[ 本帖最后由 Ragnarok 于 2007-11-30 10:50 编辑 ]
附件: 您所在的用户组无法下载或查看附件
娶一个不美又不丑的普通女人,然后比自己的老婆还要早老死
|